Maison  >  Article  >  interface Web  >  JavaScript implémente un algorithme de permutation exhaustif (permutation) puzzle solution_javascript skills

JavaScript implémente un algorithme de permutation exhaustif (permutation) puzzle solution_javascript skills

WBOY
WBOYoriginal
2016-05-16 16:23:491517parcourir

Puzzle

Répertorier de manière exhaustive les dispositions de chaque élément dans un tableau

Stratégie

Réduire et guérir, récursion

Solution JavaScript


Copier le code Le code est le suivant :

/**
 * Créé par cshao le 23/12/14.
 */

fonction getPermutation(arr) {
if (arr.length == 1) {
Retour [arr];
>

var permutation = [];
pour (var i=0; i var firstEle = arr[i];
var arrClone = arr.slice(0);
arrClone.splice(i, 1);
var childPermutation = getPermutation(arrClone);
pour (var j=0; j childPermutation[j].unshift(firstEle);
>
Permutation = permutation.concat(childPermutation);
>
Permutation de retour ;
>

var permutation = getPermutation(['a','b','c']);
console.dir(permutation);

Résultats


Copier le code Le code est le suivant :

[ [ 'a', 'b', 'c' ],
[ 'a', 'c', 'b' ],
[ 'b', 'a', 'c' ],
[ 'b', 'c', 'a' ],
[ 'c', 'a', 'b' ],
[ 'c', 'b', 'a' ] ]
Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn