class Solution {
public:
vector<vector<int>> res;
vector<int> temp;
void dfs(int pos, int n, int k){
if(temp.size() + n - pos + 1 < k){ //剪枝
return;
}
if(temp.size() == k){ //保存结果
res.push_back(temp);
return;
}
temp.push_back(pos); //记录当前数字
dfs(pos + 1, n, k);
temp.pop_back(); //不记录当前数字
dfs(pos + 1, n ,k);
}
vector<vector<int>> combine(int n, int k) {
dfs(1, n, k);
return res;
}
};
LeetCode 77. 组合
最新推荐文章于 2024-09-08 15:12:17 发布