216. 组合总和 III
同组合,终止条件为:
- 元素个数是否等于k
- 元素和是否等于目标数

class Solution {public:vector<int> res;vector<vector<int>> result;int sum=0;void backtracking(int k, int n,int startIndex){if (res.size() == k) {if (sum == n) result.push_back(res);return; // 如果path.size() == k 但sum != targetSum 直接返回}for(int i =startIndex;i<=9;i++){res.push_back(i);sum+=i;backtracking(k,n,i+1);sum-=i;res.pop_back();}}vector<vector<int>> combinationSum3(int k, int n) {backtracking(k,n,1);return result;}};
剪枝优化
- 元素个数不能超过k 9-(k-pathsize())+1
- 元素之和不能超过n
