ปริศนา
หมดการจัดเรียงของแต่ละองค์ประกอบในอาร์เรย์
กลยุทธ์
ลดและรักษาซ้ำ
โซลูชัน JavaScript
การคัดลอกรหัสมีดังนี้:
-
* สร้างโดย Chao เมื่อวันที่ 12/23/14
-
ฟังก์ชั่น getPermutation (arr) {
if (arr.length == 1) {
กลับ [arr];
-
การเปลี่ยนแปลง var = [];
สำหรับ (var i = 0; i <arr.length; i ++) {
var firstele = arr [i];
var arrclone = arr.slice (0);
arrclone.splice (i, 1);
var childpermutation = getpermutation (arrclone);
สำหรับ (var j = 0; j <childpermutation.length; j ++) {
เด็ก [j] .unshift (Firstele);
-
การเปลี่ยนแปลง = การเปลี่ยนแปลง. concat (เด็ก);
-
การเปลี่ยนแปลงกลับ;
-
การเปลี่ยนแปลง var = getPermutation (['a', 'b', 'c']);
console.dir (การเปลี่ยนแปลง);
ผลลัพธ์
การคัดลอกรหัสมีดังนี้:
[['A', 'B', 'C'],
['A', 'C', 'B'],
['B', 'A', 'C'],
['B', 'C', 'A'],
['C', 'A', 'B'],
['C', 'B', 'A']]