本文共 922 字,大约阅读时间需要 3 分钟。
给定一个无重复元素的数组 candidates 和一个目标数 target ,找出 candidates 中所有可以使数字和为 target 的组合。
candidates 中的数字可以无限制重复被选取。
说明:
所有数字(包括 target)都是正整数。
解集不能包含重复的组合。class Solution {public: vector> combinationSum(vector & candidates, int target) { vector > res; vector ass; DFS(res,candidates,target,ass, 0, 0); return res; } void DFS(vector > &res,vector & candidates,int target,vector & ass, int sum,int position){ if(sum == target){ res.push_back(ass); } else{ for(int i=position;i < candidates.size();i++){ if(sum+candidates[i]<=target){ ass.push_back(candidates[i]); DFS(res,candidates,target,ass,sum+candidates[i], i); ass.pop_back(); } } } }};
通过时间:
转载地址:http://eiemb.baihongyu.com/