这道题想到的就是dfs,在累加的和大于或等于target时到达递归树的终点。

代码如下:

class Solution {
public:
vector<vector<int>> combinationSum(vector<int>& candidates, int target) {
int r=candidates.size()-1;
vector<vector<int>> res;
for(int i=r;i>=0;i--){
vector<int> tmp;
int sum=0;
dfs(candidates, tmp, res, target, i, sum);
} return res;
}
void dfs(vector<int>& candidates, vector<int>& tmp, vector<vector<int>>& res, int target,int id,int& sum){
sum+=candidates[id];
tmp.push_back(candidates[id]);
if(sum>=target){
if(sum==target) res.push_back(tmp);
sum-=candidates[id];
tmp.pop_back();
return;
}
for(int i=id;i>=0;i--){
dfs(candidates,tmp,res,target,i,sum);
}
tmp.pop_back();
sum-=candidates[id];
}
};

最新文章

  1. jsp页面向后台传值出现乱码的问题
  2. IOS第九天(1:QQ聊天界面frame模型)
  3. jQuery实现图片伦播效果(淡入淡出+左右切换)
  4. cordova插件iOS平台实战开发注意点
  5. 【转】java多态详解
  6. 2.x ESL第二章习题 2.8
  7. PHP学习笔记二
  8. iOS中怎样加入自己定义的字体
  9. Web Builder
  10. CSS div阴影效果
  11. UVA 5009 Error Curves
  12. SQL Server 数据库部分常用语句小结(三)
  13. [Swift]LeetCode749. 隔离病毒 | Contain Virus
  14. SQLiteOpenHelper+ContentProvider的使用
  15. JavaScript中变量、执行环境、作用域与C#中的异同
  16. 为AI提供数据:构建2017数据创新的总结
  17. [P3957][NOIP2017]跳房子 (DP+二分/队列?)
  18. Kubernetes部署SpringCloud(一) Eureka 集群,解决unavailable-replicas,available-replicas条件
  19. PS与PL协同设计
  20. python+selenium2(一)

热门文章

  1. JAVA栅栏和闭锁的区别
  2. impala 下的SQL操作
  3. 好好讲一讲,到底什么是Java高级架构师!
  4. 【atcoder】Enclosed Points [abc136F]
  5. myBatis的坑 01 %的坑 框架内置的小BUG
  6. 多线程threading模块
  7. RxJava——响应式编程
  8. hdu4612 Warm up[边双连通分量缩点+树的直径]
  9. mysql慢查询配置(5.7)
  10. keras计算指定层的输出