[LeetCode]039-Combination Sum
来源:互联网 发布:软件配置管理工具 编辑:程序博客网 时间:2024/05/02 00:30
题目:
Given a set of candidate numbers (C) and a target number (T), find all unique combinations in C where the candidate numbers sums to T.
The same repeated number may be chosen from C unlimited number of times.
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 2,3,6,7 and target 7,
A solution set is:
[7]
[2, 2, 3]
Solution:
思路,先按照由小到大排序,然后依次选值,假设第i个:candidates[i],选完后target减去candidates[i],递归下,继续遍历从i往后的值。直到找到与target一样的值为止。
class Solution {public: vector<vector<int>> combinationSum(vector<int>& candidates, int target) { sort(candidates.begin(),candidates.end()); vector<vector<int>> results; vector<int> result; combine(candidates,target,0,results,result); return results; } void combine(vector<int>& candidates, int target,int begin,vector<vector<int>>& results,vector<int>& result) { int n = candidates.size(); int i = 0; for(i = begin;i<n;i++) { if(candidates[i] == target) { result.push_back(candidates[i]); results.push_back(result); if(!result.empty()) { result.pop_back(); } return; } else if(candidates[i] < target) { int t = target - candidates[i]; result.push_back(candidates[i]); combine(candidates,t,i,results,result); if(!result.empty()) result.pop_back(); } else { return; } } }};
0 0
- LeetCode 039 Combination Sum
- LeetCode 039 Combination Sum
- LeetCode 039 Combination Sum
- [LeetCode]039-Combination Sum
- LeetCode 039 Combination Sum
- LeetCode: Combination Sum II [039]
- [LeetCode] Combination Sum、Combination Sum II
- 【LeetCode】Combination Sum && Combination Sum II
- leetcode之Combination Sum && Combination Sum II
- leetcode Combination Sum &Combination Sum II
- leetcode-combination sum and combination sum II
- Leetcode:Combination Sum与Combination Sum II
- leetcode Combination Sum VS Combination Sum II
- [Leetcode]Combination Sum &&Combination Sum II
- LeetCode Combination Sum & Combination Sum II
- leetcode | Combination Sum & Combination Sum 2
- LeetCode: Combination Sum
- LeetCode: Combination Sum II
- Markdown 实现页面内部跳转
- JIRA Plugin: User 'admin' exists but has no unique key mapping
- 执行docker daemon命令时出错的解决方案
- Shell数组:shell数组的定义、数组长度
- 瀑布流的实现
- [LeetCode]039-Combination Sum
- nhnjp.ism
- spring+hessian
- iOS图片拉伸技巧
- 非table 布局 重叠边框合并方法
- jquery读取table的内容
- 管理数据库和表
- Android手机分辨率基础知识(DPI,DIP计算)
- kali攻防第14章 SQLMAP之漏洞服务器