Leetcode 39 Combination Sum
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] ]
這個題就是典型的回溯dfs方法
1)
class Solution {
public List<List<Integer>> combinationSum(int[] nums, int target) {
List<List<Integer>> result = new ArrayList<>();
if (nums.length == 0) {
return result;
}
List<Integer> path = new ArrayList<>();
dfs(nums, target, result, path, 0);
return result;
}
private void dfs(int[] nums, int target, List<List<Integer>> result, List<Integer> path, int index) {
if (target < 0) {
return;
}
if (target == 0) {
result.add(new ArrayList<>(path));
}
for (int i = index; i < nums.length; i++) {
path.add(nums[i]);
dfs(nums, target - nums[i], result, path, i);
path.remove(path.size() - 1);
}
}
}
相關文章
- leetcode-39-Combination SumLeetCode
- Leetcode 40 Combination Sum IILeetCode
- leetcode Sum系列LeetCode
- Leetcode Path SumLeetCode
- [LeetCode] 2275. Largest Combination With Bitwise AND Greater Than ZeroLeetCode
- Leetcode 1 two sumLeetCode
- LeetCode | 1 Two SumLeetCode
- Leetcode 15 3SumLeetCode
- Leetcode 18 4SumLeetCode
- LeetCode-1 Two SumLeetCode
- LeetCode 112. Path SumLeetCode
- [LeetCode]1.Two SumLeetCode
- python: leetcode - 1 Two SumPythonLeetCode
- LeetCode: Two sum(兩數之和)LeetCode
- [LeetCode] 523. Continuous Subarray SumLeetCode
- [LintCode/LeetCode] Check Sum of K PrimesLeetCode
- Leetcode 16 3Sum ClosestLeetCode
- LeetCode 259. Three Sum SmallerLeetCode
- LeetCode之Sum of Left Leaves(Kotlin)LeetCodeKotlin
- leetcode 371. Sum of Two IntegersLeetCode
- [LeetCode] 560. Subarray Sum Equals KLeetCode
- [LeetCode] 416. Partition Equal Subset SumLeetCode
- LeetCode #1:Two Sum(簡單題)LeetCode
- LeetCode Two Sum(001)解法總結LeetCode
- LeetCode: 560. Subarray Sum Equals KLeetCode
- LeetCode 209. Minimum Size Subarray Sum ?LeetCode
- Leetcode 209. Minimum Size Subarray SumLeetCode
- LeetCode 129. Sum Root to Leaf NumbersLeetCode
- LeetCode39. 組合總和LeetCode
- leetcode-124-Binary Tree Maximum Path SumLeetCode
- python leetcode 之兩數之和(two sum)PythonLeetCode
- LeetCode 3Sum(015)解法總結LeetCode
- LeetCode 124. Binary Tree Maximum Path SumLeetCode
- LeetCode之Sum of Even Numbers After Queries(Kotlin)LeetCodeKotlin
- [LeetCode] 2841. Maximum Sum of Almost Unique SubarrayLeetCode
- LeetCode 3Sum Closest(016)解法總結LeetCode
- 【Leetcode】167. Two Sum II - Input array is sortedLeetCode
- 18. 4Sum(Leetcode每日一題-2020.10.05)LeetCode每日一題