Membingungkan
Kecilkan pengaturan setiap elemen dalam suatu array
Strategi
Mengurangi dan menyembuhkan, mengulangi
Solusi JavaScript
Salinan kode adalah sebagai berikut:
/**
* Dibuat oleh Chao pada 12/23/14.
*/
function getpermutation (arr) {
if (arr.length == 1) {
mengembalikan [arr];
}
var permutation = [];
untuk (var i = 0; i <arr.length; i ++) {
var firstele = arr [i];
var arrclone = arr.slice (0);
arrclone.splice (i, 1);
var childpermutation = getpermutation (arrclone);
untuk (var j = 0; j <childpermutation.length; j ++) {
childpermutation [j] .unshift (firstele);
}
permutation = permutation.concat (childPerMutation);
}
Memperbaiki permutasi;
}
var permutation = getPerMutation (['a', 'b', 'c']);
console.dir (permutasi);
hasil
Salinan kode adalah sebagai berikut:
[['a', 'b', 'c'],
['a', 'c', 'b'],
['b', 'a', 'c'],
['b', 'c', 'a'],
['c', 'a', 'b'],
['c', 'b', 'a']]