leetcode Combination Sum III-回溯|递归
来源:互联网 发布:终极三国 知乎 编辑:程序博客网 时间:2024/04/30 12:20
原题链接:Combination Sum III
【思路】-递归实现
用回溯算法实现。最外层循环从1到9逐一往中间集中添加一个数,然后递归,如果数量凑足 k 个,并且它们的和刚好为 n,那么就将中间集添加到结果集中。下一次循环时,将添加刚刚添加到中间集中的那个数移除,进行下一次循环:
public class Solution { public List<List<Integer>> combinationSum3(int k, int n) { List<List<Integer>> res = new ArrayList<List<Integer>>(); List<Integer> temp = new ArrayList<Integer>(); dfs(res, temp, 1, k, n); return res; } private void dfs(List<List<Integer>> res, List<Integer> temp, int i, int k, int n) { if (k == 0 && n == 0) res.add(new ArrayList<Integer>(temp)); for (; i <= 9 && n > 0; i++) { temp.add(i); dfs(res, temp, i+1, k-1, n-i); temp.remove(temp.size()-1); } }}18 / 18 test cases passed. Runtime: 1 ms Your runtime beats 61.86% of javasubmissions.
1 0
- leetcode Combination Sum III-回溯|递归
- [leetcode][回溯] Combination Sum III
- Leetcode|Combination Sum III[回溯]
- leetcode---Combination Sum III---回溯
- 216.leetcode Combination Sum III(medium)[回溯]
- Leetcode|Combination Sum II[递归回溯]
- 39.leetcode Combination Sum(medium)[递归回溯]
- leetcode -- Combination Sum III -- 重点,dfs回溯模板
- LeetCode Combination Sum III
- [LeetCode] Combination Sum III
- 【leetcode】 Combination Sum III
- [leetcode] Combination Sum III
- [leetCode] Combination Sum III
- leetcode Combination Sum III
- leetcode--Combination Sum III
- LeetCode Combination Sum III
- Leetcode: Combination Sum III
- leetcode: Combination Sum III
- androidAnnotation 在androidstudio 中配置的正确配置,绝对可用
- 算法3—找出字符串中对称的子字符串的最大长度(最长回文)
- “我的天哪,吉香缘
- 数据库JDBC
- imx6q开发环境的搭建(ubuntu+yocoto)
- leetcode Combination Sum III-回溯|递归
- hdu_2089_不要62(数位DP)
- 关系数据库及异常处理
- 吉香缘公司 Y7 跳跃
- jQuery中ajax异步操作 (包括$.ajax() load() $.get() $.post()等)
- Android中DatePicker控件用法解析
- FreeRTOS内核详解----Queue
- python 正则表达式
- PyCUDA教程(一):欢迎使用PyCUDA文档