216. Combination Sum III

class Solution {
public:

    vector<vector<int>> res;
    vector<int> path;
    vector<vector<int>> combinationSum3(int k, int n) {
        dfs(n, k, 1); //選了幾個數 枚舉到第幾個數
        return res;
    }
    void dfs(int n, int k, int u){
        if(!k && !n){
            res.push_back(path);
            return ;
        }
        if(k==0 || u > 9 || n < 0) return;
        path.push_back(u);
        dfs(n - u, k-1, u + 1); //選
        path.pop_back();
        dfs(n, k, u + 1); //不選  
    }
};
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章