LeetCode-39. 組合總和
阿新 • • 發佈:2018-12-25
題目地址:https://leetcode-cn.com/problems/combination-sum/
思路:dfs,排序剪枝
AC程式碼:
class Solution { public: vector<vector<int>>ans; vector<int>res; void solve(vector<int>& candidates, int target,int k){ if(target==0){ ans.push_back(res); return; } int n = candidates.size(); for(int i=k;i<n;i++){ if(target>=candidates[i]){ res.push_back(candidates[i]); solve(candidates,target-candidates[i],i); res.pop_back(); }else return; } } vector<vector<int>> combinationSum(vector<int>& candidates, int target) { sort(candidates.begin(),candidates.end()); solve(candidates,target,0); return ans; } };