Maison > interface Web > js tutoriel > 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
Libérer: 2016-05-16 16:23:49
original
1574 Les gens l'ont consulté

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' ] ]
Étiquettes associées:
source:php.cn
Déclaration de ce site Web
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal