Skip to content

Commit c8e6bd9

Browse files
Sean PrashadSean Prashad
authored andcommitted
Add 77_Combinations.java
1 parent cad4eb1 commit c8e6bd9

File tree

1 file changed

+24
-0
lines changed

1 file changed

+24
-0
lines changed

Backtracking/77_Combinations.java

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
class Solution {
2+
public List<List<Integer>> combine(int n, int k) {
3+
if (n == 0 || k > n) {
4+
return Collections.emptyList();
5+
}
6+
7+
List<List<Integer>> result = new ArrayList<>();
8+
helper(n, k, 1, result, new ArrayList<>());
9+
return result;
10+
}
11+
12+
private void helper(int end, int numbersLeft, int start, List<List<Integer>> result, List<Integer> temp) {
13+
if (numbersLeft == 0) {
14+
result.add(new ArrayList<>(temp));
15+
return;
16+
}
17+
18+
for (int i = start; i <= end; i++) {
19+
temp.add(i);
20+
helper(end, numbersLeft - 1, i + 1, result, temp);
21+
temp.remove(temp.size() - 1);
22+
}
23+
}
24+
}

0 commit comments

Comments
 (0)