Головоломка
Исчерпайте расположение каждого элемента в массиве
Стратегия
Уменьшить и вылечить, повторять
JavaScript Solution
Кода -копия выглядит следующим образом:
/**
* Создано Чао 23.12.14.
*/
Функция getpermutation (arr) {
if (arr.length == 1) {
вернуть [arr];
}
var permucte = [];
for (var i = 0; i <arr.length; i ++) {
var firstele = arr [i];
var arrclone = arr.slice (0);
arrclone.splice (i, 1);
var Childpermutation = getpermution (arrclone);
for (var j = 0; j <childpermutation.length; j ++) {
Childpermution [j]. Unshift (Firstele);
}
перестановка = перестановка. Concat (ChildPermutation);
}
вернуть перестановку;
}
var permucte = getpermution (['a', 'b', 'c']);
console.dir (перестановка);
результат
Кода -копия выглядит следующим образом:
[['a', 'b', 'c'],
['a', 'c', 'b'],
['b', 'a', 'c'],
['b', 'c', 'a'],
[ 'такси' ],
['c', 'b', 'a']]