leetcode39. 组合总和
给定一个无重复元素的数组 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]
]
思路:搜索回溯,代码就像说话一样一看就懂。
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import java.util.Stack;public class Solution {private List<List<Integer>> res = new ArrayList<>();private int[] candidates;private int len;private void findCombinationSum(int residue, int start, Stack<Integer> pre) {if (residue < 0) {return;}if (residue == 0) {res.add(new ArrayList<>(pre));return;}for (int i = start; i < len; i++) {pre.add(candidates[i]);findCombinationSum(residue - candidates[i], i, pre);pre.pop();}}public List<List<Integer>> combinationSum(int[] candidates, int target) {int len = candidates.length;if (len == 0) {return res;}this.len = len;this.candidates = candidates;findCombinationSum(target, 0, new Stack<>());return res;}
}
leetcode39. 组合总和相关推荐
- [力扣leetcode39]组合总和及回溯法
[力扣leetcode39]组合总和及回溯法 回溯yyds 小练习 回溯yyds 在算法优化上面回溯法或许没有那么引人注意,但是对于一些题目来说能够回溯已经很好了. 题目:给定一个无重复元素的数组 c ...
- LeetCode-39. 组合总和 I
分析: 由于结果数组要求元素有序,所以在一开始便对原数组进行排序.之后调用回溯函数,与求组合那题的不同之处在于,循环里面递归调用回溯函数中的level参数使用i而非i+1,因为题中允许存在重复元素. ...
- LeetCode-39 - 组合总和
题目 <中等> 组合总和 来源:LeetCode. 给你一个 无重复元素 的整数数组 candidates 和一个目标整数 target , 找出 candidates 中可以使数字和为目 ...
- LeetCode39.组合总和 JavaScript
给定一个无重复元素的数组 candidates 和一个目标数 target ,找出 candidates 中所有可以使数字和为 target 的组合. candidates 中的数字可以无限制重复被选 ...
- [Swift]LeetCode39. 组合总和 | Combination Sum
★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ ➤微信公众号:山青咏芝(shanqingyongzhi) ➤博客园地址:山青咏芝(https://www.cnblog ...
- leetcode39. 组合总和(回溯)
给定一个无重复元素的数组 candidates 和一个目标数 target ,找出 candidates 中所有可以使数字和为 target 的组合. candidates 中的数字可以无限制重复被选 ...
- ii 组合总和_40. 组合总和 II
题目描述: 给定一个数组 candidates 和一个目标数 target ,找出 candidates 中所有可以使数字和为 target 的组合. candidates 中的每个数字在每个组合中只 ...
- 《LeetCode力扣练习》第39题 组合总和 Java
<LeetCode力扣练习>第39题 组合总和 Java 一.资源 题目: 给你一个 无重复元素 的整数数组 candidates 和一个目标整数 target ,找出 candidate ...
- leetcode算法题--组合总和
原题链接:https://leetcode-cn.com/problems/combination-sum/ 1.回溯 class Solution {public:vector<vector& ...
最新文章
- SDN第二次上机作业
- Ember.js如何与后端服务交互?adapter、store、ember data关系揭秘
- VC6.0连接数据库,并把大量数据从ACCess转移到SQL sever2008 的问题(亲测可用)
- Android中应用安装分析
- LS-DYNA常用关键字
- 考研预报名即将开始,做好这些实现弯道超车
- SqlServer自增长字段归零
- Linux Centos快速屏蔽IP访问(iptables)
- SATI下载-安装-使用 一看便懂+spss聚类(附安装包)
- php gd绘制图片,PHP-用GD绘制图形
- 【中间件技术】第四部分 Web Service规范(10) Web Service规范
- 题解 CF1389B 【Array Walk】
- Github 搜索技巧,快速找到好资源
- python高频面试题_02-27 朴素贝叶斯
- 转:色情网站背后的秘密 播放器捆绑木马传毒
- 2月书讯(下)| 新年到,新书到!
- 仿某App锁屏页Gallery
- understand学习
- Android一键锁屏实现
- 给 DataGrid 增加序列号的两种方法
热门文章
- .config 和 kconfig以及 makefile的关系
- 冠榕智能灯光控制协议分析(controller-node)
- asterisk libxml2
- Ubuntu 13.10配置root登录
- tcp长连接和保活时间
- 如何使用autotools工具
- mysql 逗号金额比较,如何使用MySQL比较两个逗号分隔的字符串列表
- item name=android:width,Android:形状中的笔划创建笔划宽度的边距
- Mybatis笔记——Mybatis入门
- php如何操作mysql数据库代码_php如何操作mysql数据库的类(附代码)