博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
LintCode: Combination Sum II
阅读量:6322 次
发布时间:2019-06-22

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

C++

DFS

1 class Solution { 2 public: 3     void help(vector
&a, int now, int sum, int target, vector
&path, vector
> &ans, bool last) { 4 if (sum > target) { 5 return ; 6 } 7 if (now >= a.size()) { 8 if (sum == target) { 9 ans.push_back(path);10 }11 return ;12 }13 if ((now == 0) || (a[now - 1] != a[now]) || last) {14 path.push_back(a[now]);15 help(a, now + 1, sum + a[now], target, path, ans, true);16 path.pop_back();17 }18 help(a, now + 1, sum, target, path, ans, false);19 }20 /**21 * @param num: Given the candidate numbers22 * @param target: Given the target number23 * @return: All the combinations that sum to target24 */25 vector
> combinationSum2(vector
&num, int target) {26 // write your code here27 sort(num.begin(), num.end());28 vector
path;29 vector
> ans;30 help(num, 0, 0, target, path, ans, true);31 return ans;32 }33 };

 

本文转自ZH奶酪博客园博客,原文链接:http://www.cnblogs.com/CheeseZH/p/5012822.html,如需转载请自行联系原作者

你可能感兴趣的文章
军规15 确保集成和调用第三方APP
查看>>
Etcd和ZooKeeper,究竟谁在watch的功能表现更好?
查看>>
Shredding Company 碎纸机,dfs()枚举每一种情况,再加剪枝。
查看>>
命名空间和模块化编程 - C++快速入门39
查看>>
结构化程序设计03 - 零基础入门学习Delphi12
查看>>
D2007在64位Win7出现 delphi 2007 assertion failure thread32.cpp 的解决办法
查看>>
STM32的TAMPER-RTC管脚作为Tamper的使用[转]
查看>>
[记]一个逐步“优化”的范例程序
查看>>
2012-01-09_2
查看>>
数学 - 线性代数导论 - #5 矩阵变换之置换与转置
查看>>
java数据结构:队列
查看>>
使用.NET进行高效率互联网敏捷开发的思考和探索【一、概述】
查看>>
切换默认Activity和Fragment的动画
查看>>
SSM练习——登录实现
查看>>
asp.net core 2.0 Microsoft.Extensions.Logging 文本文件日志扩展
查看>>
余光中_百度百科
查看>>
方法sessionjsp之监听器
查看>>
判断 网络是否通常,以及判断用户使用的网络类型,时2G\3G\还是wifi
查看>>
下一代 Hadoop YARN :相比于MRv1,YARN的优势
查看>>
阿里巴巴离职DBA 35岁总结的职业生涯
查看>>