JS实现全排列(递归、循环)、快速排序
递归
1、回溯法(未去重)
function permutate2(arr) {
let final = [];
let result = [];
function p(arr) {
if (arr.length == 0) {
let temp = Array.from(result);
final.push(temp);
return
}
let length = arr.length;
for (let i = 0; i < length; i++) {
result.push(arr[i])
let newArr = Array.from(arr);
newArr.splice(i, 1);
p(newArr);
result.pop(arr[i]);
}
}
p(arr);
return final;
}
let arr = [1, 2, 3];
let result = permutate2(arr);
console.log(result);
2、交换(去重)
<