Problem: 77. 组合
解题方法
说实话有点懵逼,用递归来做K层循环,等会再写吧
现在有点明白了,尝试把函数直接带入,可以看的非常清楚
复杂度
时间复杂度:
添加时间复杂度, 示例: $O(n)$
空间复杂度:
添加空间复杂度, 示例: $O(n)$
Code
[]1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41
| class Solution {
public:
vector<vector<int>> res;
vector<int> path;
vector<vector<int>> combine(int n, int k) {
back_traincing(n + 1,k,1);
return res;
}
void back_traincing(int n,int k,int start_index){
if(path.size() == k) {
res.push_back(path);
return;
}
for(int i = start_index; i < n; i++) {
path.push_back(i);
back_traincing(n,k,i + 1);
path.pop_back();
}
}
};
|