声明:只求用最简单的方法通过,不求优化,不喜勿喷
- dfs解题
- 递归出口是当前数组长度为要求的长度
- 每次从当前下标开始向后找,保证不重复
- 优化todo
/**
* @param {number} n
* @param {number} k
* @return {number[][]}
*/
var combine = function(n, k) {
let now = [];
let re = [];
let dfs = function(idx){
if(now.length == k){
re.push([...now]);
return ;
}
for(var i = idx+1;i<=n;i++){
now.push(i);
dfs(i);
now.pop();
}
return ;
}
dfs(0);
return re;
};