LeetCode | Combination Sum II
2013-12-26 22:45
411 查看
题目:
Given a collection of candidate numbers (C) and a target number (T), find all unique combinations in C where the candidate numberssums to T.
Each number in C may only be used once in the combination.
Note:
All numbers (including target) will be positive integers.
Elements in a combination (a1, a2,
… , ak) must be in non-descending order. (ie, a1 ≤ a2 ≤
… ≤ ak).
The solution set must not contain duplicate combinations.
For example, given candidate set
10,1,2,7,6,1,5and
target
8,
A solution set is:
[1, 7]
[1, 2, 5]
[2, 6]
[1, 1, 6]
思路:
常规递归问题。
代码:
class Solution { public: vector<vector<int> > result; vector<int> v; vector<int> candidates; vector<vector<int> > combinationSum2(vector<int> &num, int target) { this->candidates = num; sort(this->candidates.begin(),this->candidates.end()); getCombination(0,0,target); return result; } void getCombination(int k, int sum, int target) { if(sum==target) { for(int k=0;k<result.size();k++) { if(result[k]==v) { return; } } result.push_back(v); } else if(sum>target) { return; } else if(k>=candidates.size()) { return; } else { getCombination(k+1, sum, target); v.push_back(candidates[k]); getCombination(k+1, sum+candidates[k], target); v.pop_back(); } } };
相关文章推荐
- leetcode:Combination Sum II
- Leetcode Combination Sum I & II
- leetcode Combination Sum II
- [Leetcode]Combination Sum II
- LeetCode Combination Sum II
- leetcode[40]Combination Sum II
- [LeetCode]Combination Sum II
- [LeetCode] Combination Sum II
- Combination Sum II —— LeetCode
- LeetCode Combination Sum II
- LeetCode Combination Sum II
- LeetCode40 Combination Sum II
- 【Leetcode】之 Combination Sum II
- Leetcode Combination Sum II
- LeetCode: Combination Sum II
- [Leetcode] Combination Sum II
- leetcode 108: Combination Sum II
- [leetcode] Combination Sum II
- 【leetcode】Combination Sum II (middle) ☆
- 【LeetCode】Combination Sum II