原题地址(中等)
方法1—回溯
这题和第39题组合总和、第40题组合总和II极其相似,实际上会了那两道题的其中一道,这道题就自然而然了。
附上39题题解。
39. 组合总和
直接借助第39题中威威哥的解题思路,稍作改动就行了。
class Solution {
public:
vector<int> v;
vector<vector<int>> ans;
void dfs(int cur, int len, int target){
if(v.size() == len){
if(target == 0) ans.push_back(v);
return;
}
for(int i=cur; i<=9; i++){
v.push_back(i);
dfs(i+1, len, target-i);
v.pop_back();
}
}
vector<vector<int>> combinationSum3(int k, int n) {
if(!k) return {};
dfs(1, k, n);
return ans;
}
};