77. 组合
笔记
回溯加剪枝
class Solution {
public:
vector<vector<int>> result;
vector<int> vec;
void backtracing(int left, int right, int k) {
if (k <= 0) return;
for (int i = left; i <= right - k + 1; i++) {
vec.push_back(i);
if (1 == k) result.push_back(vec);
backtracing(i + 1, right, k - 1);
vec.pop_back();
}
return;
}
vector<vector<int>> combine(int n, int k) {
backtracing(1, n, k);
return result;
}
};