码随想录算法训练营第二十四天| 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_2546177717 分钟前
nslookup 这个命令解析dns,和系统接口gethostbyname解析区别在哪?
linux·网络
kylezhao201933 分钟前
C# 文件的输入与输出(I/O)详解
java·算法·c#
CodeByV1 小时前
【算法题】堆
算法
kaikaile19951 小时前
A星算法避开障碍物寻找最优路径(MATLAB实现)
数据结构·算法·matlab
HIT_Weston1 小时前
100、【Ubuntu】【Hugo】搭建私人博客:元信息&翻译(一)
linux·运维·ubuntu
C_心欲无痕1 小时前
Docker 的镜像与容器
运维·docker·容器
今天_也很困1 小时前
LeetCode 热题100-15.三数之和
数据结构·算法·leetcode
Mr. Cao code1 小时前
Docker匿名数据卷实战指南
运维·ubuntu·docker·容器
Blossom.1181 小时前
AI Agent的长期记忆革命:基于向量遗忘曲线的动态压缩系统
运维·人工智能·python·深度学习·自动化·prompt·知识图谱
企业对冲系统官2 小时前
基差风险管理系统日志分析功能的架构与实现
大数据·网络·数据库·算法·github·动态规划