代码随想录 day 24 77. 组合

发布时间 2023-03-24 14:28:07作者: 刷刷题啊呀呀

77. 组合

给定两个整数 n 和 k,返回范围 [1, n] 中所有可能的 k 个数的组合。

你可以按 任何顺序 返回答案。

 

class Solution {
    public List<List<Integer>> combine(int n, int k) {
        List<List<Integer>> result = new ArrayList<>();
        helper(1, n, k, result, new ArrayList<>());
        return result;
    }
    private void helper(int index,int n, int k, List<List<Integer>> result, List<Integer> cur) {
        if (cur.size() == k) {
            result.add(new ArrayList<>(cur));
            return;
        }

        for (int i = index; i <= n; i++) {
            cur.add(i);
            helper(i + 1, n, k, result, cur);
            cur.remove(cur.size() - 1);
        }
    }
}