内容简介:Given a set of candidate numbers (candidates) (without duplicates) and a target number (target), find all unique combinations in candidates where the candidate numbers sums to target.The same repeated number may be chosen from candidates unlimited number o
Given a set of candidate numbers (candidates) (without duplicates) and a target number (target), find all unique combinations in candidates where the candidate numbers sums to target.
The same repeated number may be chosen from candidates unlimited number of times.
Note:
All numbers (including target) will be positive integers.
The solution set must not contain duplicate combinations.
Example 1:
Input: candidates = [2,3,6,7], target = 7, A solution set is: [ [7], [2,2,3] ]
Example 2:
Input: candidates = [2,3,5], target = 8, A solution set is: [ [2,2,2,2], [2,3,3], [3,5] ]
难度:medium
题目:给定一无重复元素的集合和一指定数,找出所有由数组内元素之和为该数的序列。一个元素可以被无限次使用。
注意:所以元素都为正整数包括给定的整数。答案不允许有重复的组合。
思路:递归
Runtime: 15 ms, faster than 33.80% of Java online submissions for Combination Sum.
Memory Usage: 25.8 MB, less than 64.72% of Java online submissions for Combination Sum.
class Solution {
public List<List<Integer>> combinationSum(int[] candidates, int target) {
List<List<Integer>> result = new ArrayList<>();
combinationSum(candidates, 0, 0, target, new Stack<Integer>(), result);
return result;
}
private void combinationSum(int[] cs, int curIdx, int sum, int target, Stack<Integer> stack, List<List<Integer>> result) {
if (curIdx >= cs.length || sum > target) {
return;
}
if (sum == target) {
result.add(new ArrayList<>(stack));
return;
}
for (int i = curIdx; i < cs.length; i++) {
stack.push(cs[i]);
combinationSum(cs, i, sum + cs[i], target, stack, result);
stack.pop();
}
}
}
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网
猜你喜欢:- 39. Combination Sum
- 小旭讲解 LeetCode 39. Combination Sum 回溯法
- LeetCode偶尔一题 —— 39. Combination Sum(回溯算法系列)
- Leetcode基础刷题之PHP解析(39. Combination Sum)
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
Ajax Design Patterns
Michael Mahemoff / O'Reilly Media / 2006-06-29 / USD 44.99
Ajax, or Asynchronous JavaScript and XML, exploded onto the scene in the spring of 2005 and remains the hottest story among web developers. With its rich combination of technologies, Ajax provides a s......一起来看看 《Ajax Design Patterns》 这本书的介绍吧!