Combination Sum II
来源:互联网 发布:输入法 ubuntu 编辑:程序博客网 时间:2024/06/06 17:32
Given a collection of candidate numbers (C) and a target number (T), find all unique combinations in C where the candidate numbers sums 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,5 and target 8,
A solution set is:
[1, 7]
[1, 2, 5]
[2, 6]
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,5 and target 8,
A solution set is:
[1, 7]
[1, 2, 5]
[2, 6]
[1, 1, 6]
class Solution {public: vector<vector<int>> combinationSum2(vector<int>& candidates, int target) { vector<vector<int>>res; sort(candidates.begin(),candidates.end()); if(candidates.empty()||target<candidates.front()) //数组为空或者是target小于最小的数组元素 return res; vector<int>slo; compute(0,target,candidates,slo,res); return res; } void compute(int startIndex,int target,vector<int>&candidates,vector<int>&slo,vector<vector<int>>&res) { if(target<0) return; if(target==0) { res.push_back(slo); return; } for(int i=startIndex;i<candidates.size();i++) { //消除在数组中重复出现的数字 if(i>startIndex&&candidates[i]==candidates[i-1]) continue; if(target>=candidates[i]) { slo.push_back(candidates[i]); compute(i+1,target-candidates[i],candidates,slo,res); slo.pop_back(); } } }};
0 0
- Combination Sum && Combination Sum II
- Combination Sum Combination Sum II
- Combination Sum II
- LeetCode: Combination Sum II
- LeetCode: Combination Sum II
- [LeetCode]Combination Sum II
- LeetCode Combination Sum II
- [Leetcode] Combination Sum II
- Combination Sum II
- [LeetCode] Combination Sum II
- LeetCode Combination Sum II
- [Leetcode] Combination Sum II
- Combination Sum II
- LeetCode: Combination Sum II
- Combination Sum II
- leetcode Combination Sum II
- Combination Sum II
- [LeetCode]Combination Sum II
- RxJava入门指引,易懂
- Java获取xml格式字段内容
- jqgrid快速入门之三:单元格输入文字的获取
- NYOJ 1233 差值
- Python 3.5 基于ACM问题的语法笔记
- Combination Sum II
- 数据库优化
- 自定义viewgroup实现ArcMenu
- 架构漫谈(二):认识概念是理解架构的基础
- c++中vector的用法详解
- 【Sass-03】Sass官网文档
- 1001
- jsp基本语法
- 服务器性能慢的原因一种设想