class Solution {
public:
vector<vector<int>>ans;
void dfs(vector<int>&path,int start,int n,int k)//(第一个参数为存储的结果,第二个参数是当前选元素,第三个是n个数,第四个是选k个)
{
if(!k)
{
ans.push_back(path);
return;
}
if(start==n+1)return;
for(int i=start;i<=n;i++)
{
path.push_back(i);
dfs(path,i+1,n,k-1);
path.pop_back();//回溯完把状态恢复
}
}
vector<vector<int>> combine(int n, int k) {
vector<int>path;
dfs(path,1,n,k);
return ans;
}
};
leetcode 77. 组合
最新推荐文章于 2024-06-16 11:04:14 发布