力扣 中等 77.组合

文章目录

题目介绍

解法

代码如下

java 复制代码
class Solution {
	//定义成员变量
    List<List<Integer>> result= new ArrayList<>();
    List<Integer> path = new ArrayList<>();
    public List<List<Integer>> combine(int n, int k) {
        dfs(n,k,1);
        return result;
    }
    //startIndex 参数用于控制递归的起点。
    //遍历从 startIndex 到 n 的每个数字,确保组合中没有重复的元素。
    public void dfs(int n,int k,int startIndex){
        if (path.size() == k){
            //创建一个新的列表并将path 列表的内容复制到新创建的列表中
            //目的是为了避免后续对 path 列表的修改影响到 result 列表中已有的元素
            result.add(new ArrayList<>(path));
            return;
        }
        for (int i =startIndex;i<=n;i++){
            path.add(i);
            dfs(n,k,i+1);
            path.remove(path.size() - 1);
        }
    }
}

代码运行流程

相关推荐
freed_Day3 分钟前
Java进阶学习之Stream流的基本概念以及使用技巧
java·开发语言·学习
Warren9817 分钟前
Java后端面试题(含Dubbo、MQ、分布式、并发、算法)
java·开发语言·分布式·学习·算法·mybatis·dubbo
白云~️18 分钟前
html img标签设置默认图片,防止图片路径不存在导致图片不展示影响页面美观
java·前端·html
羊锦磊1 小时前
[ HTML 前端 ] 语法介绍和HBuilderX安装
java·开发语言·前端·html
羊锦磊4 小时前
[ Mybatis 多表关联查询 ] resultMap
java·开发语言·数据库·mysql·mybatis
ZeroToOneDev7 小时前
Java(泛型和JUnit)
java·开发语言·笔记
迪尔~8 小时前
Apache POI中通过WorkBook写入图片后出现导出PDF文件时在不同页重复写入该图片问题,如何在通过sheet获取绘图对象清除该图片
java·pdf·excel
现在,此刻9 小时前
leetcode 11. 盛最多水的容器 -java
java·算法·leetcode
DKPT9 小时前
Java设计模式之开闭原则介绍与说明
java·设计模式·开闭原则
hyy27952276849 小时前
企业级WEB应用服务器TOMCAT
java·前端·tomcat