class Solution {
public:
vector<vector<int> >ans;
vector<int>tmp;
void dfs(int dep,int maxDep,int start,int end)
{
if(dep==maxDep)
{
ans.push_back(tmp);
return;
}
for(int i=start;i<=end;i++)
{
tmp[dep]=i;
dfs(dep+1,maxDep,i+1,end);//
}
}
vector<vector<int> > combine(int n, int k) {
// Start typing your C/C++ solution below
// DO NOT write int main() function
tmp.resize(k);
ans.clear();
dfs(0,k,1,n);
return ans;
}
};
【leetcode】Combinations
最新推荐文章于 2021-02-24 07:35:30 发布
本文介绍了一个使用深度优先搜索(DFS)解决组合问题的C++实现。通过递归地选择元素来生成所有可能的k个数的组合,这些组合来自于1到n的整数集合。

469

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



