回溯法相关:
1.函数返回值和参数
2.终止条件
3.横向遍历
- 组合
给定两个整数 n 和 k,返回 1 … n 中所有可能的 k 个数的组合。
vector<int> r1;
vector<vector<int>> result;
void digui(int n, int k,int start){
if(r1.size()==k){
result.push_back(r1);
return;
}
//for(int i = start; i <= n; i++){
for(int i = start; i <= n -(k- r1.size()) +1 ; i++){
r1.push_back(i);
digui(n,k,i+1);
r1.pop_back();
}
}