leetcode- 39. Combination Sum
来源:互联网 发布:qq刷人气软件 编辑:程序博客网 时间:2024/06/06 15:54
39. Combination Sum
iven a set of candidate numbers (C) (without duplicates) and a target number (T), find all unique combinations in C where the candidate numbers sums to T.
The same repeated number may be chosen from C unlimited number of times.
Note:
- All numbers (including target) will be positive integers.
- The solution set must not contain duplicate combinations.
For example, given candidate set [2, 3, 6, 7]
and target 7
,
A solution set is:
[ [7], [2, 2, 3]]
和前面的subsets
的思路基本是一致的,只是要添加一个判断,向结果里添加元素的时候,要满足和为target
;还需要使用 i
而不是
i+1
,因为可以使用重复的元素。class Solution { public List<List<Integer>> combinationSum(int[] nums, int target) { List<List<Integer>> list = new ArrayList<>(); Arrays.sort(nums); backtrack(list, new ArrayList<>(), nums, target, 0); return list; } private void backtrack(List<List<Integer>> list, List<Integer> tempList, int [] nums, int remain, int start){ if(remain < 0) return; else if(remain == 0) list.add(new ArrayList<>(tempList)); else{ for(int i = start; i < nums.length; i++){ tempList.add(nums[i]); backtrack(list, tempList, nums, remain - nums[i], i); // not i + 1 because we can reuse same elements tempList.remove(tempList.size() - 1); } } }}
阅读全文
0 0
- [LeetCode]39.Combination Sum
- LeetCode --- 39. Combination Sum
- LeetCode 39.Combination Sum
- [Leetcode] 39. Combination Sum
- Leetcode-39.Combination Sum
- LeetCode 39. Combination Sum
- [LeetCode]39. Combination Sum
- 39. Combination Sum LeetCode
- [leetcode] 39. Combination Sum
- leetcode 39. Combination Sum
- 【leetcode】 39. Combination Sum
- LeetCode 39. Combination Sum
- leetcode 39. Combination Sum
- LeetCode 39. Combination Sum
- LeetCode *** 39. Combination Sum
- LeetCode 39. Combination Sum
- leetcode 39. Combination Sum
- LeetCode - 39. Combination Sum
- select()函数以及FD_ZERO、FD_SET、FD_CLR、FD_ISSET
- 一种简单的用java实现快速排序(Quicksort)
- RecyclerView系列之(1):为RecyclerView添加Header和Footer
- WebSocket 学习笔记
- Android 启动模式(launchMode)
- leetcode- 39. Combination Sum
- java对象判断是否为空工具类
- MYSQL从库CPU占用高排查
- 第8周 项目4-稀疏矩阵的三元组表示的实现及应用(2)
- 管道通信
- [知了堂学习笔记]_JavaScript之DOM事件(许愿墙)
- Android 内存优化简介
- 杂项1
- OpenCV中的Mat数据与Matlab中的数据的相互转换