public class Solution {
public static void backTrack(int n, int k, int start, List<Integer> tmp, List<List<Integer>> ret) {
if (k == 0) {
ret.add(new ArrayList<>(tmp));
return;
}
else {
for (int i=start; i<=n-k+1; i++) {
tmp.add(i);
backTrack(n, k-1, i+1, tmp, ret);
tmp.remove(tmp.size()-1);
}
}
}
public List<List<Integer>> combine(int n, int k) {
List<List<Integer>> ret = new ArrayList<>();
backTrack(n, k, 1, new ArrayList<>(), ret);
return ret;
}
}
Leetcode 77. Combinations
最新推荐文章于 2022-10-24 15:59:40 发布