1. 题目

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

candidates 中的数字可以无限制重复被选取。

说明:
所有数字(包括 target)都是正整数。
解集不能包含重复的组合。 示例 1:
输入: candidates = [2,3,6,7], target = 7,
所求解集为:
[[7],[2,2,3]
]示例 2:
输入: candidates = [2,3,5], target = 8,
所求解集为:
[[2,2,2,2],[2,3,3],[3,5]
]

来源:力扣(LeetCode) 链接:https://leetcode-cn.com/problems/combination-sum
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。

2. 解题

class Solution {public:vector<vector<int>> combinationSum(vector<int>& candidates, int target) {if(candidates.empty())return {};vector<vector<int> > ans;vector<int> temp;cs(candidates, 0, target, target, ans, temp);return ans;}void cs(vector<int>& candidates, int idx, int target, int cursum, vector<vector<int>>& ans, vector<int> &temp){if(cursum == 0){ans.push_back(temp);return;}if(cursum < 0)return;for(int i = idx; i < candidates.size(); ++i){temp.push_back(candidates[i]);cs(candidates, i, target, cursum-candidates[i], ans, temp);temp.pop_back();}}
};

8 ms 10.9 MB


我的CSDN博客地址 https://michael.blog.csdn.net/

长按或扫码关注我的公众号(Michael阿明),一起加油、一起学习进步!

LeetCode 39. 组合总和(排列组合 回溯)相关推荐

  1. leetcode 39. 组合总和 40. 组合总和 II

    leetcode 39. 组合总和 40. 组合总和 II 组合总和 给定一个无重复元素的正整数数组 candidates 和一个正整数 target ,找出 candidates 中所有可以使数字和 ...

  2. LeetCode:数组(排列组合,二分查找I,二分查找II)

    1,排列组合 38,剑指Offer:字符串的排列 题目:输入一个字符串,打印出该字符串中字符的所有排列.你可以以任意顺序返回这个字符串数组,但里面不能有重复元素. class Solution {Li ...

  3. [leetcode] 题型整理之排列组合

    一般用dfs来做 最简单的一种: 17. Letter Combinations of a Phone Number Given a digit string, return all possible ...

  4. ii 组合总和_40. 组合总和 II

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

  5. c语言中组合函数,排列组合c怎么算 公式是什么

    排列有两种定义,但计算方法只有一种,凡是符合这两种定义的都用这种方法计算.定义的前提条件是m≦n,m与n均为自然数.下面介绍排列组合c的计算方法及公式,供参考. 排列组合中A和C怎么算 排列A(n,m ...

  6. 统计学练习题——组合,排列组合

    统计学习题 组合 组合的基本公式:C(n,m)的算法=n!/[m!(n-m)!] 1.26个字母随机取4个,抽出不放回,有多少种可能? C(26,4) = 26!/(4!*(22!)) 第一步先约掉2 ...

  7. python生成排列组合_Python 排列组合生成

    zckun:老哥们, 请教一个问题, 是关于排列组合的, 前几天和老哥们讨论了一下, 能是能解决, 但感觉不太方便 看一个简单的例子应该就明白了. to 目前是我这样做的, 用了一个模版 templa ...

  8. matlab 重复排列组合,MATLAB 排列组合问题

    毕设ing, 最近每天除了看论文就是matlab仿真. MATLAB编程强调"vectorization'',对矩阵进行操作(毕竟人家名字就叫Mat Lab,矩阵的实验室) 对于排列组合问题 ...

  9. 40. 组合总和 II021(回溯法)

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

  10. leetcode216. 组合总和 III(回溯)

    找出所有相加之和为 n 的 k 个数的组合.组合中只允许含有 1 - 9 的正整数,并且每种组合中不存在重复的数字. 说明: 所有数字都是正整数. 解集不能包含重复的组合. 示例 1: 输入: k = ...

最新文章

  1. 路由器发展编年史 完结篇
  2. VIM自动补全插件:deoplete
  3. 开发管理 CheckLists(1) -启动项目
  4. 两种IO模式:Proactor与Reactor模式
  5. staticextension 上提供值时引发了异常_干!一张图整理了 Python 所有内置异常
  6. ajax添加一行,ajax请求到数据会给上一个元素添加数据
  7. @程序员,这 TOP 11 物联网云平台速码!
  8. Linux内核分析——操作系统是如何工作的
  9. 在GridView中,设置字符超出单元格部分的内容用“...”表示
  10. Mybatis foreach逗号分隔字符串遍历方式
  11. 关于如何提取仙剑奇侠传4的模型
  12. Schölkopf 、Bengio等新作解读:因果表征学习——连接因果和机器学习的桥梁
  13. 数学建模竞赛经验分享(从本科生到研究生,获奖成功率100%,我从数模所学)
  14. 玉米社:百度SEM竞价推广的投放地域设置技巧
  15. sql round函数(case函数)
  16. 【CV系列】颜色恒常性理论及应用
  17. Redis管道技术的使用
  18. 在vmware虚拟机中的ubuntu出现s001.vmdk的操作失败(磁盘空间不足)并影响ubuntu的启动问题
  19. 一文搞懂PMO如何推动流程规范的落地及常见问题如何解决?【管理有度4】
  20. java输出五行十一列星星_星是什么意思 星字五行属什么

热门文章

  1. Linux桌面需要强制访问控制,RHCSA 系列(十三): 在 RHEL 7 中使用 SELinux 进行强制访问控制...
  2. linux启用ipmi服务,使用 ipmitool 实现 Linux 系统下对服务器的 ipmi 管理
  3. 基于Hi3516A的H265 IPC LIVE555 开发基本原理
  4. 10 个理由让你继续干 IT
  5. Java IO/NIO教程
  6. NodeJs实现下载Excel文件
  7. Tomcat 在mac上(Idea)端口冲突解决办法
  8. XCode8 App上传AppStore更新
  9. 2016.07.24
  10. DIV Scroll属性