class Solution {
public List<List<Integer>> combine(int n, int k) {
List<List<Integer>> res = new ArrayList<>();
List<Integer> list = new ArrayList<>();
backtracking(res, list, n, k, 1);
return res;
}
private void backtracking(List<List<Integer>> res, List<Integer> list, int n, int k, int idx) {
if (list.size() == k) {
res.add(new ArrayList<>(list));
return;
}
for (int i = idx; i <= n; i++) {
list.add(i);
backtracking(res, list, n, k, i + 1);
list.remove(list.size() - 1);
}
}
}
代码随想录训练营第三十五期|第24天|回溯算法part01|理论基础 ● 77. 组合
最新推荐文章于 2024-07-08 22:12:26 发布