题目描述:

简单的dfs题,代码如下:
class Solution {
public:
vector<vector<int>> combine(int n, int k) {
vector<vector<int>> res;
vector<int> out;
calc(n,k,1,out,res);
return res;
}
private:
void calc(int n,int k,int level,vector<int>& out,vector<vector<int>>& res){
if(out.size() == k){
res.push_back(out);
return ;
}
for(int i = level; i <= n; i++){
out.push_back(i);
calc(n,k,i+1,out,res);
out.pop_back();
}
}
};
本文介绍了一个简单的深度优先搜索(DFS)题目实现方案。通过递归的方式,实现了从1到n中选择k个不同整数的所有可能组合。代码采用C++编写,展示了如何使用递归进行回溯以获取所有有效组合。

1430

被折叠的 条评论
为什么被折叠?



