Rompecabezas
Agotar la disposición de cada elemento en una matriz
Estrategia
Reducir y curar, recurrir
Solución JavaScript
La copia del código es la siguiente:
/**
* Creado por Chao el 23/12/14.
*/
función getPermutation (arr) {
if (arr.length == 1) {
regresar [arr];
}
var permutación = [];
para (var i = 0; i <arr.length; i ++) {
var firstele = arr [i];
var arrclone = arr.slice (0);
arrclone.splice (i, 1);
var infantilpermutación = getPermutation (arrclone);
para (var j = 0; j <childPermutation.length; j ++) {
Permutación infantil [J] .unshift (Firstele);
}
Permutación = Permutación.concat (Permutación infantil);
}
Permutación de devolución;
}
var permutation = getPermutation (['a', 'b', 'c']);
console.dir (permutación);
resultado
La copia del código es la siguiente:
[['A', 'B', 'C'],
['A', 'C', 'B'],
['B', 'A', 'C'],
['b', 'c', 'a'],
[ 'taxi' ],
['C', 'B', 'A']]