博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
[LeetCode] Combination Sum, Solution
阅读量:6230 次
发布时间:2019-06-21

本文共 1853 字,大约阅读时间需要 6 分钟。

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 (a1a2, … , 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] 
[Thoughts]
This is a normal recursion question. For each candidate, add and verify the target. If it hit, add it as a part of solution.
[Code]
1:    vector
> combinationSum(vector
&candidates, int target) { 2: // Start typing your C/C++ solution below 3: // DO NOT write int main() function 4: vector
> result; 5: vector
solution; 6: int sum=0; 7: std::sort(candidates.begin(), candidates.end()); 8: GetCombinations(candidates,sum, 0, target, solution, result); 9: return result; 10: } 11: void GetCombinations( 12: vector
& candidates, 13: int& sum, 14: int level, 15: int target, 16: vector
& solution, 17: vector
>& result) 18: { 19: if(sum > target) return; 20: if(sum == target) 21: { 22: result.push_back(solution); 23: return; 24: } 25: for(int i =level; i< candidates.size(); i++) 26: { 27: sum+=candidates[i]; 28: solution.push_back(candidates[i]); 29: GetCombinations(candidates, sum, i, target, solution, result); 30: solution.pop_back(); 31: sum-=candidates[i]; 32: } 33: }

转载于:https://www.cnblogs.com/codingtmd/archive/2013/01/27/5078919.html

你可能感兴趣的文章
JVM JRE JDK 区别
查看>>
python的常用模块
查看>>
apache服务器日志分析程序webalizer
查看>>
Trunk实现不同VLAN之间 相同网段的互通
查看>>
(版本定制)第8课:Spark Streaming源码解读之RDD生成生命周期彻底研究和思考
查看>>
为底层元素注册监听器
查看>>
ZeroTurnaround(做 JRebel 的公司)关于 Java 类动态重载的一系列文章
查看>>
awk级sed处理下一行
查看>>
windows中如何查看本机的MAC地址和主机名
查看>>
Javascript 中的上下文
查看>>
raid 相关收集
查看>>
选购邮件系统五大指标看U-Mail对比国际大牌
查看>>
3. JDK Map
查看>>
eclipse下avd无法启动解决办法
查看>>
《HTML与CSS知识》系列分享专栏
查看>>
vcpkg win10下编译zlib失败
查看>>
SIP协议解析
查看>>
windows7&8下安装变色龙到隐藏分区的方法
查看>>
系统找不到指定的文件 C:\WINDOWS\system32\<LANG_NAME>\mstsc.exe.MUI
查看>>
解决hal.dll丢失问题 调试方法启动XP
查看>>