description:

给定target, 求给定数列中找到几个数(其中的数可以重复使用,且一组数有几个也不做限制)的和为target
Note:

  • https://www.cnblogs.com/grandyang/p/4606334.html

Example:

Example 1:Input: candidates = [2,3,6,7], target = 7,
A solution set is:
[[7],[2,2,3]
]Example 2:Input: candidates = [2,3,5], target = 8,
A solution set is:
[[2,2,2,2],[2,3,3],[3,5]
]

answer:

class Solution {
public:vector<vector<int>> combinationSum(vector<int>& candidates, int target) {vector<vector<int>> res;vector<int> out;combinationSumDFS(candidates, target, 0, out, res);return res; // return combinationSumDFS(candidates, target, 0, out, res); 这是我之前的写法,注意错误!!!}void combinationSumDFS(vector<int>& candidates, int target, int start, vector<int>& out, vector<vector<int>>& res){if (target < 0) return;if (target == 0) {res.push_back(out); return;}for (int i = start; i < candidates.size(); ++i) {out.push_back(candidates[i]);combinationSumDFS(candidates, target - candidates[i], i, out, res);out.pop_back();}}
};

relative point get√:

像这种结果要求返回所有符合要求解的题十有八九都是要利用到递归,而且解题的思路都大同小异,相类似的题目有 Path Sum II,Subsets II,Permutations,Permutations II,Combinations 等等,如果仔细研究这些题目发现都是一个套路,都是需要另写一个递归函数

hint :

转载于:https://www.cnblogs.com/forPrometheus-jun/p/11156917.html

39. Combination Sum相关推荐

  1. 【DFS】LeetCode 39. Combination Sum

    LeetCode 39. Combination Sum Solution1: DFS,这个套路要熟记啊! class Solution { public:vector<vector<in ...

  2. LeetCode笔记:39. Combination Sum

    题目描述 给定一个无重复的正整数数组 candidates 和一个正整数 target, 求所有和为 target 的 candidates 中数的组合中.其中相同数的不同顺序组合算做同一种组合,ca ...

  3. 39. Combination Sum 组合总和

    给定一个无重复元素的数组 candidates 和一个目标数 target ,找出 candidates 中所有可以使数字和为 target 的组合. candidates 中的数字可以无限制重复被选 ...

  4. leetcode 39. Combination Sum | 39. 组合总和(Java)

    题目 https://leetcode.com/problems/combination-sum/ 题解 不是最优解法. 对于每一个位置 i 上 的元素,分为选或不选两种情况. 遍历每一个位置,计算强 ...

  5. 40. Combination Sum II 组合总和 II

    给定一个数组 candidates 和一个目标数 target ,找出 candidates 中所有可以使数字和为 target 的组合. candidates 中的每个数字在每个组合中只能使用一次. ...

  6. 【LeetCode】#39组合总和(Combination Sum)

    [LeetCode]#39组合总和(Combination Sum) 加粗样式 给定一个无重复元素的数组 candidates 和一个目标数 target ,找出 candidates 中所有可以使数 ...

  7. 216. Combination Sum III

    /** 216. Combination Sum III * 2016-6-12 by Mingyang* i一定要取到9,虽然大小聪明,想只取到7,但是后面的遍历可能也会遍历到9啊.* 1.长度标准 ...

  8. Combination Sum 和Combination Sum II

    这两道题的基本思路和combination那一题是一致的,也是分治的方法. 其中combination Sum复杂一点,因为每个数可能用多次.仔细分析下,本质上也是一样的.原来是每个数仅两种可能.现在 ...

  9. 【动态规划】LeetCode 377. Combination Sum IV

    LeetCode 377. Combination Sum IV Solution1: 我的未能AC的答案 题目描述的和前几道题差不多,但实际上不能用DFS来做(会超时),要用动态规划,还是记录一下吧 ...

最新文章

  1. UWP 矢量字体图标(iconfont)使用
  2. python3 操作mysql数据库(mysql.connector 和 pymysql )
  3. Maven-学习笔记01【基础-Maven基本概念】
  4. robot:linux下安装robot环境
  5. jquery - 正则表达式
  6. 支持Android的Qt5预览
  7. 父子进程共享内存通信的三种方法
  8. 数据库实现中文汉字排序终极指南
  9. 2019最新猎豹网校JAVA语言数据结构与算法教程(Java语言 )
  10. 2018跟着小虎玩着去软考--信息系统项目管理师(趣味好玩讲解历年上午试题)-刘畅-专题视频课程...
  11. html右下角图片广告,HTML580用纯JS实现右下角广告代码
  12. qq游戏大厅 for linux,网友第一时间抢先评测:腾讯QQ Linux版
  13. WordPress网站屏蔽后台搜索词广告-奇它博客
  14. win10搭FTP与单片机通信:配置+编程实现的完整流程
  15. 毕业实习大作业(Android-Spring Boot-MySQL 前后端分离项目 快速上手实例)
  16. mysql 怎么加上撇号_php - 如何在写入Mysql数据库时处理撇号
  17. 《Python编程从入门到实践》16.2.6收盘价均值,代码理解
  18. 如何将优酷KUX格式转换为MP4格式?
  19. 有什么英语翻译器好用?
  20. 3D mark 05 测试

热门文章

  1. [MySQL] 为什么要给表加上主键
  2. 数据结构线性表博客作业总结
  3. 删掉一个文件夹相对于另一个文件夹多出的文件
  4. url 编码 与 接口签名
  5. java 添加一个线程、创建响应的用户界面 。 演示示例代码
  6. javac 编译异常总结
  7. Oracle 临时表解决ORA-22992问题
  8. 开发海思3520a遇到的问题
  9. 1.1 MySQL OCP 实战环境准备
  10. 无监督和有监督的区别_干货|全面理解无监督学习基础知识