Skip to content

Commit aa68be3

Browse files
MEDIUM/src/medium/Combinations.java
1 parent 0da9fe6 commit aa68be3

File tree

1 file changed

+31
-0
lines changed

1 file changed

+31
-0
lines changed

MEDIUM/src/medium/Combinations.java

+31
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
package medium;
2+
import java.util.*;
3+
4+
public class Combinations {
5+
//I'm glad that I made this one AC'ed the first time I submitted it.
6+
//After finishing three similar problems! Cool!
7+
8+
public List<List<Integer>> combine(int n, int k) {
9+
List<List<Integer>> result = new ArrayList();
10+
int[] nums = new int[n];
11+
for(int i = 0; i < n; i++){
12+
nums[i] = i+1;
13+
}
14+
backtracking(k, 0, nums, new ArrayList(), result);
15+
return result;
16+
}
17+
18+
void backtracking(int k, int start, int[] nums, List<Integer> temp, List<List<Integer>> result){
19+
if(temp.size() == k){
20+
List<Integer> newTemp = new ArrayList(temp);
21+
result.add(newTemp);
22+
} else if(temp.size() < k){
23+
for(int i = start; i < nums.length; i++){
24+
temp.add(nums[i]);
25+
backtracking(k, i+1, nums, temp, result);
26+
temp.remove(temp.size()-1);
27+
}
28+
}
29+
}
30+
31+
}

0 commit comments

Comments
 (0)