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 Combination SumLeetCode
- [leetcode] Combination Sum and Combination SumIILeetCode
- Leetcode Combination Sum IILeetCode
- Leetcode-Combination SumLeetCode
- Combination Sum leetcode javaLeetCodeJava
- Leetcode 40 Combination Sum IILeetCode
- LeetCode-Combination Sum IVLeetCode
- Combination Sum II leetcode javaLeetCodeJava
- Leetcode Path SumLeetCode
- leetcode Sum系列LeetCode
- Leetcode Two SumLeetCode
- leetcode15&16_3Sum&4SumLeetCode
- Leetcode 1 two sumLeetCode
- Leetcode 3SumLeetCode
- Leetcode 4SumLeetCode
- Leetcode Path Sum IILeetCode
- Leetcode-Path SumLeetCode
- Leetcode-Two SumLeetCode
- Leetcode-3SumLeetCode
- Path Sum leetcode javaLeetCodeJava
- Two Sum leetcode javaLeetCodeJava
- 3 Sum leetcode javaLeetCodeJava
- 4 Sum leetcode javaLeetCodeJava
- LeetCode | 1 Two SumLeetCode
- [LeetCode]1.Two SumLeetCode
- Leetcode 15 3SumLeetCode
- Leetcode 18 4SumLeetCode
- LeetCode----1. Two SumLeetCode
- Leetcode - Partition Equal Subset SumLeetCode
- LeetCode-3Sum SmallerLeetCode
- LeetCode-Count of Range SumLeetCode
- LeetCode1:Two SumLeetCode
- Leetcode 3Sum ClosestLeetCode
- Leetcode Sum Root to Leaf NumbersLeetCode
- Leetcode Minimum Path SumLeetCode
- Leetcode-Path Sum IILeetCode
- Leetcode-3Sum ClosestLeetCode