77. 组合
- 剪枝:当剩余取数区间已经小于要求的组合大小,可直接略去
var combine = function(n, k) {
const res = [];
const backTrack = (arr, start) => {
if (arr.length === k) {
res.push([...arr]);
return;
}
// 剪枝:循环终止条件变为 n - (k - arr.length) + 1
for (let i=start; i<=n; i++) {
arr.push(i);
backTrack(arr, i+1);
arr.pop(i);
}
}
backTrack([], 1);
return res;
};