static int x=[](){
std::ios::sync_with_stdio(false);
cin.tie(NULL);
return 0;
}();
class Solution {
public:
vector<vector<int>> combine(int n, int k) {
vector<int> nums(n + 1, 0);
vector<vector<int>> res;
vector<int> tmp;
solve(1, tmp, res, nums, k);
return res;
}
void solve(int index, vector<int>& tmp, vector<vector<int>>& res, vector<int>& nums, int k){
//当已经选取k个数后输出
if (tmp.size() == k){
res.push_back(tmp);
return;
}
if (nums.size() - index + 1 < k - tmp.size())
return;
for (int i = index; i < nums.size(); i++){
tmp.push_back(i);
solve(i + 1, tmp, res, nums, k);
tmp.pop_back();
}
return;
}
};
LetCode 77. 组合
最新推荐文章于 2022-07-28 15:41:03 发布