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

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

相关推荐
penguin_bark5 分钟前
69. x 的平方根
算法
这可就有点麻烦了15 分钟前
强化学习笔记之【TD3算法】
linux·笔记·算法·机器学习
DY009J16 分钟前
深度探索Kali Linux的精髓与实践应用
linux·运维·服务器
苏宸啊21 分钟前
顺序表及其代码实现
数据结构·算法
lin zaixi()24 分钟前
贪心思想之——最大子段和问题
数据结构·算法
FindYou.25 分钟前
C - Separated Lunch
算法·深度优先
程序员-珍27 分钟前
虚拟机ip突然看不了了
linux·网络·网络协议·tcp/ip·centos
夜雨翦春韭31 分钟前
【代码随想录Day30】贪心算法Part04
java·数据结构·算法·leetcode·贪心算法
Kent_J_Truman42 分钟前
【平方差 / C】
算法
一直学习永不止步43 分钟前
LeetCode题练习与总结:H 指数--274
java·数据结构·算法·leetcode·数组·排序·计数排序