https://leetcode-cn.com/problems/combinations/submissions/
代码实现如下:
/**
* @param {number} n
* @param {number} k
* @return {number[][]}
*/
var combine = function(n, k) {
let nums = [];
for(let i=0;i<n;i++) nums.push(i+1);
let res = [];
dfs(nums, [], res, 0, k);
return res;
};
function dfs(nums, arr, res, cur, k) {
if(arr.length === k) res.push(arr.slice());
for(let i=cur;i<nums.length;i++) {
arr.push(nums[i]);
dfs(nums, arr.slice(), res, i+1, k);
arr.pop();
}
}