Rumah >hujung hadapan web >tutorial js >JavaScript melaksanakan permutasi menyeluruh (permutasi) kemahiran penyelesaian teka-teki algoritma_javascript

JavaScript melaksanakan permutasi menyeluruh (permutasi) kemahiran penyelesaian teka-teki algoritma_javascript

WBOY
WBOYasal
2016-05-16 16:23:491562semak imbas

Teka-teki

Senaraikan secara menyeluruh susunan setiap elemen dalam tatasusunan

Strategi

Kurangkan dan sembuh, rekursi

Penyelesaian JavaScript


Salin kod Kod adalah seperti berikut:

/**
 * Dicipta oleh cshao pada 23/12/14.
 */

fungsi getPermutation(arr) {
jika (arr.length == 1) {
Kembali [arr];
}

pilih atur var = [];
untuk (var i=0; i var firstEle = arr[i];
var arrClone = arr.slice(0);
arrClone.splice(i, 1);
var childPermutation = getPermutation(arrClone);
untuk (var j=0; j childPermutation[j].unshift(firstEle);
}
Permutasi = pilih atur.concat(childPermutation);
}
Pulangan pilih atur;
}

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

Keputusan


Salin kod Kod adalah seperti berikut:

[ [ 'a', 'b', 'c' ],
[ 'a', 'c', 'b' ],
[ 'b', 'a', 'c' ],
[ 'b', 'c', 'a' ],
[ 'c', 'a', 'b' ],
[ 'c', 'b', 'a' ] ]
Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn