class Solution {
public:
void backtracking(int n, int k, int start_index) {
// std::cout << "start_index: " << start_index << std::endl;
if (path_.size() == k) {
ret_.push_back(path_);
return;
}
for (int i = start_index; i <= n - (k - path_.size()) + 1; i++) {
path_.push_back(i);
backtracking(n, k, i + 1);
path_.pop_back();
}
}
vector<vector<int>> combine(int n, int k) {
backtracking(n, k, 1);
return ret_;
}
private:
vector<vector<int>> ret_;
vector<int> path_;
};
Day21 回溯专项
最新推荐文章于 2024-06-15 15:08:31 发布