码随想录算法训练营第二十四天| 77. 组合

77. 组合 - 力扣(LeetCode)

java 复制代码
class Solution {
    ArrayList<Integer> path = new ArrayList<>();
    ArrayList<List<Integer>> result = new ArrayList<>();

    public List<List<Integer>> combine(int n, int k) {
        if(n < k){
            return new ArrayList<>();
        }
        
        doCombine(n,k,1);
        
        return result;
    }

    private void doCombine(int n,int k,int startPos){
        if(path.size() == k){
            result.add(new ArrayList<>(path));
            return;
        }

        for(int i=startPos;i<=n && path.size() + n-i+1 >= k;i++){
            path.add(i);
            doCombine(n,k,i+1);
            path.remove(path.size()-1);
        }
    }
}

使用面向接口 和 不使用面向接口

相关推荐
qq_433618448 分钟前
哈夫曼树
数据结构·算法
余辉zmh17 分钟前
【贪心算法篇】:“贪心”之旅--算法练习题中的智慧与策略(二)
c++·算法·leetcode·贪心算法
余辉zmh26 分钟前
【贪心算法篇】:“贪心”之旅--算法练习题中的智慧与策略(一)
c++·算法·leetcode·贪心算法
taoyong00137 分钟前
代码随想录算法训练营第三十七天-动态规划-完全背包-377. 组合总和 Ⅳ
c++·算法·leetcode·动态规划
从未止步..38 分钟前
Jenkins未在第一次登录后设置用户名,第二次登录不进去怎么办?
java·运维·jenkins
davenian1 小时前
< OS 有关> BaiduPCS-Go 程序的 菜单脚本 Script: BaiduPCS-Go.Menu.sh (bdgo.sh)
运维·shell script·baidupcs-go·linux ubuntu
励志成为美貌才华为一体的女子1 小时前
python算法和数据结构刷题[4]:查找算法和排序算法
数据结构·算法·排序算法
tt5555555555552 小时前
每日一题-判断是不是完全二叉树
数据结构·算法
-VE-2 小时前
myshell
linux·c++
喝醉酒的小白2 小时前
几种K8s运维管理平台对比说明
运维·容器·kubernetes