码随想录算法训练营第二十四天| 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);
        }
    }
}

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

相关推荐
_dindong6 小时前
Linux网络编程:结合内核数据结构详谈epoll的工作原理
linux·服务器·网络
了一梨6 小时前
在Ubuntu中配置适配泰山派的交叉编译环境
linux·c语言·ubuntu
buyutang_6 小时前
Linux网络编程:Socket套接字编程概念及常用API接口介绍
linux·服务器·网络·tcp/ip
小小哭包6 小时前
Nginx配置文件nginx.conf中文详解
运维·nginx
weixin_431697206 小时前
onlyoffice预览nginx代理的静态文件
运维·nginx
杨云龙UP6 小时前
从0搭建Oracle ODA NFS异地备份:从YUM源到RMAN定时任务的全流程
linux·运维·数据库·oracle
DN金猿6 小时前
恢复 Linux 上误删除的文件
linux·运维·服务器
6***A6636 小时前
Nginx 反向代理配置
运维·nginx
gihigo19986 小时前
matlab 基于瑞利衰落信道的误码率分析
算法
远瞻。7 小时前
【环境配置】Ubuntu系统安装cuda
linux·运维·ubuntu