LeetCode 216. 组合总和 III

原题目:https://leetcode-cn.com/problems/combination-sum-iii/

 

思路:

可以参考LeetCode 77. 组合。就是改了一下最后的判别条件。

和为n并且个数为k,就找到了可行解

 

代码:

class Solution {
    vector> ans;
    void dfs(int& k,int& n,int count,vector& tmp,int m){
        if(tmp.size()==k && count == n){
            ans.push_back(tmp);return;
        }
        for(int i=m;i<=9;i++){
            tmp.push_back(i);
            dfs(k,n,count+i,tmp,i+1);
            tmp.pop_back();
        }
    }
public:
    vector> combinationSum3(int k, int n) {
        vector tmp;
        dfs(k,n,0,tmp,1);
        return ans;
    }
};

 

你可能感兴趣的:(LeetCode)