216. 组合总和 III

题意

  • 找出所有相加之和为 nk 个数的组合组合中只允许含有 1 - 9 的正整数,并且每种组合中不存在重复的数字。

    说明:

    • 所有数字都是正整数。

    • 解集不能包含重复的组合。

    示例 1:

    输入: k = 3, n = 7
    输出: [[1,2,4]]

    示例 2:

    输入: k = 3, n = 9
    输出: [[1,2,6], [1,3,5], [2,3,4]]

解题思路

由于最终的结果要求是有序的,因此需要先将数组进行排序;

  1. 回溯:维持一个路径组合,并且不断的将target减去数组中的值,直到target值为0,则把路径组合加入到最终的结果中;

  2. 记忆化搜索:通过字典记录下每个和对应的组合,在target在不断减去数组中的值的时候,如果这个和已经出现过,那么直接返回该和对应的组合,由于新的组合是在前面的组合的基础上进行操作的,所以没有办法对前面的组合进行剪枝;

  3. 动态规划:应该也是和2类似的思想;

实现

之前以为回溯都需要有值返回

最新文章

  1. ios UIWebView自定义Alert风格的弹框
  2. OGG异常处理
  3. servlet、genericservlet、httpservlet之间的区别
  4. good books
  5. HDU 1176 免费馅饼(记忆化搜索)
  6. Android编程: 界面组成、事件监听器
  7. POJ1007
  8. IE9下报错,错误: “JSON”未定义
  9. [Cocos2d-x]Mac下运行HelloCpp For Android
  10. HashMap/HashSet,hashCode,哈希表
  11. springboot2.0整合es的异常总结
  12. 20175234 2018-2019-2 《Java程序设计》第八周学习总结
  13. Linux 创建静态库(.a)和动态库(.so)
  14. 《Linux内核设计与实现》第四章学习笔记
  15. 《全栈性能Jmeter》-5JMeter负载与监听
  16. 1分钟完美安装最新CentOS+Nginx+PHP-FPM+MySQL
  17. 【Hibernate】hibernate框架的搭建
  18. 《Python》 基础数据类型补充和深浅copy
  19. Java Log Viewer日志查看器
  20. SI - 系统 - 操作系统简述 (Operating System)

热门文章

  1. 利用Volatility对Linux内存取证分析-常用命令翻译
  2. Python图片验证码降噪 — 8邻域降噪
  3. sqlite3 的insert记录项思路
  4. WGS84转大地2000
  5. JS实现幸运抽奖页面
  6. Java容器---Set: HashSet & TreeSet & LinkedHashSet
  7. KnockoutJs学习笔记(二)
  8. 浅谈C、C++及其区别、兼容与不兼容
  9. Docker网络和存储
  10. rocketmq在linux上安装