Leetcode Combination Sum II
2014-06-11 16:58
405 查看
Given a collection of candidate numbers (C) and a target number (T), find all unique combinations inC where the candidate numbers sums to
T.
Each number in C may only be usedonce 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,5 and target 8,
A solution set is:
[1, 7]
[1, 2, 5]
[2, 6]
[1, 1, 6]
递归遍历,看看和是否等于8,注意在同一层中,两个相等值只能选择一次。
T.
Each number in C may only be usedonce 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,5 and target 8,
A solution set is:
[1, 7]
[1, 2, 5]
[2, 6]
[1, 1, 6]
递归遍历,看看和是否等于8,注意在同一层中,两个相等值只能选择一次。
class Solution { public: void combin(vector<vector<int> > &res,vector<int> &temp,vector<int> &num,int target,int cur){ if(target==0){ res.push_back(temp); return; }else if(target<0)return; else{ for(int i=cur;i<num.size();i++){ if(i!=cur&&num[i]==num[i-1])continue; //同一层中,两个相等值只能选择一次 temp.push_back(num[i]); combin(res,temp,num,target-num[i],i+1); temp.pop_back(); } } } vector<vector<int> > combinationSum2(vector<int> &num, int target) { vector<vector<int> > res; if(num.size()==0)return res; sort(num.begin(),num.end()); vector<int> temp; combin(res,temp,num,target,0); return res; } };
相关文章推荐
- 【LeetCode】Combination Sum && Combination Sum II
- 【LeetCode】Combination Sum I && II
- Combination Sum II--LeetCode
- LeetCode题目之8 Combination Sum II
- leetcode Combination Sum II
- [LeetCode39]Combination Sum 和[LeetCode40]Combination Sum II
- leetcode[40]Combination Sum II
- Combination Sum II 组合数求和之2-Leetcode
- 《leetCode》:Combination Sum II
- 【Leetcode】Combination Sum II
- Combination Sum II —— LeetCode
- LeetCode Combination Sum II
- Leetcode 40 Combination Sum II
- [LeetCode] Combination Sum II, Solution
- Leetcode 40 Combination Sum II
- LeetCode Online Judge 题目C# 练习 - Combination Sum II
- [LeetCode 39&40] Combination Sum I & II
- leetcode - Combination Sum II
- LeetCode:Combination Sum I II
- ***(leetcode_backtracking) Combination Sum II