Skip to content

Commit 7c642b3

Browse files
committed
ok
1 parent e509fa3 commit 7c642b3

File tree

1 file changed

+30
-0
lines changed

1 file changed

+30
-0
lines changed

src/com/leetcode/Main39.java

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
package com.leetcode;
2+
3+
import java.util.*;
4+
5+
public class Main39 {
6+
public List<List<Integer>> combinationSum(int[] candidates, int target) {
7+
int len = candidates.length;
8+
List<List<Integer>> res = new ArrayList<>();
9+
if (len == 0)
10+
return res;
11+
Deque<Integer> deque = new ArrayDeque<>();
12+
Arrays.sort(candidates);
13+
dfs(candidates, 0, len, deque, target, res);
14+
return res;
15+
}
16+
public void dfs(int[] candidates, int begin, int len, Deque<Integer> deque, int target, List<List<Integer>> res) {
17+
if (target == 0) {
18+
res.add(new ArrayList<>(deque));
19+
return;
20+
}
21+
for (int i = begin; i < len; i++) {
22+
if (target - candidates[i] < 0)
23+
break;
24+
deque.addLast(candidates[i]);
25+
dfs(candidates, i, len, deque, target-candidates[i], res);
26+
deque.removeLast();
27+
}
28+
29+
}
30+
}

0 commit comments

Comments
 (0)