//k为单个组合中的个数
var combine = function(n, k) {
let arr=[]
let p=[]
const dd=function(n,k,begin){
//终止条件
if(p.length==k){
//收集结果
arr.push([...p])
return
}
//i为搜索开始的起点
// 搜索起点的上界 + 接下来要选择的元素个数 - 1 = n
// 接下来要选择的元素个数 = k - path.size()
// 搜索起点的上界 = n - (k - path.size()) + 1
for(let i=begin;i<=n-(k-p.length)+1;i++){
p.push(i)
//递归
dd(n,k,i+1)
//回溯
p.pop()
}
}
dd(n,k,1)
return arr
};
力扣77.组合(JavaScript)
最新推荐文章于 2024-07-25 19:34:38 发布