给定两个整数 n 和 k,返回 1 ... n 中所有可能的 k 个数的组合。
示例 1:
输入: n = 4, k = 2
输出:
[
[2,4],
[3,4],
[2,3],
[1,2],
[1,3],
[1,4],
]
var combine = function (n, k) {
var res = [];
if (k <= 0 || n <= 0) return res;
var track = [];
f(1, track);
return res;
function f(start, track) {
if (k == track.length) {
return res.push([...track]);
}
for (var i = start; i <= n; i++) {
track.push(i);
f(i + 1, track);
track.pop();
}
}
};
combine(3, 2);
流程分析