246.组合总和 III

246.组合总和 III
代码:

class Solution {
public:
    vector<int> path;
    vector<vector<int>> finalPath;
    void backtracking(int index,int sum,int &n,int &k){
        if(path.size()==k){
            if(sum==n)finalPath.push_back(path);
            return;
        }
        for(int i=index;i<=9;i++){
            if(sum+i>n)break;//剪枝操作
            else{
                sum+=i;
                path.push_back(i);
                backtracking(i+1,sum,n,k);
                path.pop_back();
                sum-=i;
            }
        }
    }
    vector<vector<int>> combinationSum3(int k, int n) {
        backtracking(1,0,n,k);
        return finalPath;
    }
};
posted @ 2025-03-25 18:08  Cheauncey  阅读(23)  评论(0)    收藏  举报