39. Combination Sum

来源:互联网 发布:java面试题spring 编辑:程序博客网 时间:2024/05/21 11:33
class Solution {private:    void combanation(vector<vector<int>> &result,vector<int> &cur,vector<int> &candidate,int target,int begin)    {        if(!target)        {            result.push_back(cur);            return;        }        else        {            for(int i=begin;target>=candidate[i]&&i<candidate.size();i++)            {                cur.push_back(candidate[i]);                combanation(result,cur,candidate,target-candidate[i],i);                cur.pop_back();            }        }    }public:    vector<vector<int>> combinationSum(vector<int>& candidates, int target) {        vector<vector<int>> result;        vector<int> cur;        sort(candidates.begin(),candidates.end());        combanation(result,cur,candidates,target,0);        return result;    }};
1 0