LeetCode--Combination Sum II
2014-08-03 21:06
405 查看
思路:类似于上一题,但是加了一个index数组记录结果里面已经存放的元素索引,
用来判断当前的元素是否和上一个相同并且上一个是否使用过。
主要为了解决重复解的问题。
用来判断当前的元素是否和上一个相同并且上一个是否使用过。
主要为了解决重复解的问题。
class Solution { public: vector<vector<int> >ans; vector<vector<int> > combinationSum2(vector<int> &num, int target) { if(num.size() == 0) return ans; sort(num.begin(),num.end()); vector<int> res; vector<int> index; calSum(num,target,0,res,index); return ans; } void calSum(vector<int> &num,int target,int s,vector<int> &res,vector<int> &index) { if(target < 0) return; if(target == 0) { ans.push_back(res); return; } int i; for(i = s ; i < num.size() ; ++i) { if(i >0 && index[index.size()-1] != i-1 && num[i] == num[i-1]) continue; index.push_back(i); res.push_back(num[i]); calSum(num,target-num[i],i+1,res,index); res.pop_back(); index.pop_back(); } return; } };
相关文章推荐
- Combination Sum II--LeetCode
- leetcode Combination Sum II
- [LeetCode39]Combination Sum 和[LeetCode40]Combination Sum II
- leetcode[40]Combination Sum II
- [LeetCode]40 Combination Sum II
- Combination Sum II 组合数求和之2-Leetcode
- 《leetCode》:Combination Sum II
- Combination Sum II —— LeetCode
- Combination Sum II 【leetcode】
- Leetcode Combination Sum II
- leetcode之Combination Sum && Combination Sum II
- LeetCode Combination Sum II
- LeetCode-Combination Sum II
- 【LeetCode】Combination Sum II
- Leetcode 40 Combination Sum II
- [LeetCode] Combination Sum II, Solution
- Combination Sum II [LeetCode]
- Leetcode 40 Combination Sum II
- Leetcode:Combination Sum与Combination Sum II
- [LeetCode 39&40] Combination Sum I & II