数组元素排列组合
对数组元素进行排列组合,返回指定长度排列组合结果。例如:数组:[1,2,3,4]、size:3
组合:考虑顺序,返回结果:[[1,2,3],[1,2,4],[1,3,4],[2,3,4]] 数量为:nums.length! / ((nums.length - size)! * size!) 在组合的基础上再去除重复的选项size!
var arrangeSum = function(nums, size) {
let result = [];
let getArr = function(t, arr, len){
if(len === 0){
result.push(t);
return;
}
for(let i = 0; i < arr.length; i++){
let temp = [...t, arr[i]];
getArr(temp, arr.slice(i + 1), len - 1)
}
}
getArr([], nums, size);
return result;
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
2
3
4
5
6
7
8
9
10
11
12
13
14
15
排列:不考虑顺序,数量为:nums.length! / (nums.length - size)!
var arrangeSum = function(nums, size) {
let result = [];
let getArr = function(t, arr, len){
if(len === 0){
result.push(t);
return;
}
for(let i = 0; i < arr.length; i++){
let temp = [...t, arr[i]],arrTemp = [...arr];arrTemp.splice(i, 1);
getArr(temp, arrTemp, len - 1)
}
}
getArr([], nums, size);
return result;
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
2
3
4
5
6
7
8
9
10
11
12
13
14
15
上次更新: 2025/09/05, 8:09:00