Skip to content

Commit 3ba3fc8

Browse files
committed
0216. Combination Sum III V1.0
1 parent d563ded commit 3ba3fc8

File tree

1 file changed

+31
-0
lines changed

1 file changed

+31
-0
lines changed
Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
import java.util.ArrayList;
2+
import java.util.Deque;
3+
import java.util.LinkedList;
4+
import java.util.List;
5+
6+
/**
7+
* @author changleamazing
8+
* @date 2020/9/12 21:13
9+
**/
10+
public class Solution {
11+
public List<List<Integer>> combinationSum3(int k, int n) {
12+
List<List<Integer>> res = new ArrayList<>();
13+
Deque<Integer> queue = new LinkedList<>();
14+
backtrace(1, k, n, queue, res);
15+
return res;
16+
}
17+
18+
private void backtrace(int number, int restCount, int restSum, Deque<Integer> queue, List<List<Integer>> res) {
19+
if (restCount == 0) {
20+
if (restSum == 0) {
21+
res.add(new ArrayList<>(queue));
22+
}
23+
return;
24+
}
25+
for (int i = number; i <= restSum && i <= 9; i++) {
26+
queue.add(i);
27+
backtrace(i + 1, restCount - 1, restSum - i, queue, res);
28+
queue.removeLast();
29+
}
30+
}
31+
}

0 commit comments

Comments
 (0)