组合000

题目链接

组合

题目描述

注意点

  • 1 <= n <= 20
  • 1 <= k <= n
  • 可以按 任何顺序 返回答案

解答思路

  • 使用深度优先遍历根据传入的深度depth寻找相应的组合。因为组合中的元素不能重复,从小到大选择元素,在深度优先遍历时,根据上一次进入dfs选择的元素idx加一作为本次选择的第一个元素,遍历到n为止,以此类推,直到depth等于k就找到了一个组合,上述过程全部遍历完就找到了所有的组合

代码

class Solution {public List<List<Integer>> combine(int n, int k) {List<List<Integer>> res = new ArrayList<>();List<Integer> sonRes = new ArrayList<>();dfs(n, k, 1, 0, res, sonRes);return res;}public void dfs(int n, int k, int idx, int depth, List<List<Integer>> res, List<Integer> sonRes) {if (depth >= k) {res.add(new ArrayList<>(sonRes));return;}for (int i = idx; i <= n; i++) {sonRes.add(i);dfs(n, k, i + 1, depth + 1, res, sonRes);sonRes.removeLast();}}
}

关键点

  • 深度优先遍历和回溯的思想

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/755887.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

堆(数据结构)

堆的概念及结构 如果有一个关键码的集合K { &#xff0c; &#xff0c; &#xff0c;…&#xff0c; }&#xff0c;把它的所有元素按完全二叉树的顺序存储方式存储在一个一维数组中&#xff0c;并满足&#xff1a; < 且 < ( > 且 > ) i 0&#xff0c;1&#xff…

深入解析分布式限流

一、概述 1.1 主要解决的问题 访问请求流量远远大于服务器的负载&#xff0c;致使服务器宕机&#xff0c;导致整个服务的不可用&#xff1b;- 限流当前服务调用其他服务&#xff0c;其他服务不可用&#xff0c;导致当前服务的调用一直超时&#xff0c;进而当前服务的线程资源耗…

3D产品配置器有哪些实际的商业应用场景?

3D产品配置器在商业领域有着广泛的应用场景&#xff0c;它们不仅能够提升客户体验&#xff0c;还能帮助企业优化内部流程和加速产品开发。以下是一些具体的商业应用实例&#xff1a; 1、在线定制和销售&#xff1a;3D产品配置器允许客户在购买前根据自己的喜好定制产品&#x…

Vue.js+SpringBoot开发企业项目合同信息系统

目录 一、摘要1.1 项目介绍1.2 项目录屏 二、功能模块2.1 数据中心模块2.2 合同审批模块2.3 合同签订模块2.4 合同预警模块2.5 数据可视化模块 三、系统设计3.1 用例设计3.2 数据库设计3.2.1 合同审批表3.2.2 合同签订表3.2.3 合同预警表 四、系统展示五、核心代码5.1 查询合同…

【JAVA快速编写UI】 Java 编写一个编码转换和加解密工具,可以创建一个简单的 GUI 应用程序(例子)

EncodingDecodingTool/ ├── src/ │ ├── main/ │ │ ├── java/ │ │ │ └── com/ │ │ │ └── rockmelodies/ │ │ │ └── encodingdecodingtool/ │ │ │ ├── MainApp.java │ │ │ …

Linux安装Mysql5.7数据库

一、前置条件 系统版本&#xff1a;Linux CentOS 7.5 MySQL版本&#xff1a;mysql5.7.31 二、操作步骤 2.1、关闭mysql服务 service mysqld stop 提示使用命令&#xff1a;systemctl stop mysqld.service 2.2、grep查找已安装的mysql服务 rpm -qa | grep -i mysql 2.3、卸载…

51单片机LED8*8点阵显示坤坤跳舞打篮球画面

我们作为一名合格的 ikun&#xff0c;专业的小黑子&#xff0c;这个重要的知识必须学会。 先看效果&#xff1a; 51LED点阵_鸡你太美 这里我们首先要用到延时函数Delay&#xff1a; void Delay(unsigned int xms) {unsigned char i, j;while(xms--){ i 2;j 239;do{while (-…

国内用户如何注册WhatsApp商业账号?

国内用户如何注册WhatsApp商业账号&#xff1f; 国内的用户&#xff0c;如果想注册WhatsApp商业账号&#xff0c;一种是直接通过Meta官方进行申请注册&#xff0c;然后进行企业认证。另外一种是通过 WhatsApp 官方授权的商业解决方案提供商来申请、注册账号&#xff0c;比如牛…

Java数组的概念及使用

在讲数组之前&#xff0c;先看一个案例。假设下图为学生考试成绩图&#xff0c;如果想要存储该学生的考试成绩&#xff0c;是不是可以定义一个变量进行存储&#xff1f;变量的定义及使用的&#xff0c;可参考链接进行学习。java变量是什么&#xff1f;怎么定义的&#xff1f;有…

MateBook 14s 2023款 集显 触屏(HKFG-16)原厂Win11系统

HUAWEI华为MateBook14s笔记本电脑2023款原装Windows11&#xff0c;恢复出厂开箱状态系统下载 适用型号&#xff1a;HKFG-XX、HKFG-16、HKFG-32 链接&#xff1a;https://pan.baidu.com/s/1GBPLwucRiIup539Ms2ue0w?pwdfm41 提取码&#xff1a;fm41 原厂系统自带所有驱动、…

Nodejs 第五十八章(大文件上传)

在现代网站中&#xff0c;越来越多的个性化图片&#xff0c;视频&#xff0c;去展示&#xff0c;因此我们的网站一般都会支持文件上传。 文件上传的方案 大文件上传&#xff1a;将大文件切分成较小的片段&#xff08;通常称为分片或块&#xff09;&#xff0c;然后逐个上传这…

C语言技能数(知识点汇总)

C语言技能数&#xff08;知识点汇总&#xff09; C 语言概述特点不足之处 标准编程机制 数据类型变量数据类型字符类型整数类型符号位二进制的原码、反码和补码 浮点类型布尔类型 常量字面常量const 修饰的常变量#define定义的标识符常量枚举常量 sizeofsizeof(结构体)不要对 v…

React——开发者工具

浏览器插件&#xff1a;谷歌浏览器插件react-devtools 方式1&#xff1a;chrome应用商店添加 方式2&#xff1a;下载安装包放在浏览器上

打靶记录(个人学习笔记)

一、信息收集 1、主机发现 通过nmap对此网段进行扫描&#xff0c;可以确定靶机ip为192.168.189.144 2、端口扫描 确定了靶机ip之后&#xff0c;我们来扫描端口 发现80端口开放&#xff0c;先访问80端口 用插件识别出一些信息 Wappalyzer插件获得信息&#xff1a;Web服务&am…

ThingsBoard Edge 设备控制

文章目录 一、RPC 功能1.服务端 RPC2.客户端 RPC3.MQTT RPC API3.1.服务端RPC3.2.客户端RPC 二、设备控制1.环境准备2.创建设备3.服务端PRC3.1.RPC消息主题3.2.程序源码3.3.创建仪表板3.4.边缘分配仪表板3.5.测试 4.客户端RPC4.1.RPC消息主题4.2.程序源码4.3.规则链4.4.测试 Th…

【Git】error: bad signature 0xb86f1e1 和 bfatal: index file corrupt

一、问题 之前都好好的&#xff0c;今天执行 git add .的时候突然报错 报错原因翻译成中文&#xff1a;索引文件损坏 二、解决方法 方法1&#xff1a; 删除.git隐藏文件夹中的index文件 然后执行 git reset 重新生成index文件 git reset 方法2&#xff1a; 重新从远程克隆…

xinference - 大模型分布式推理框架

文章目录 关于 xinference使用1、启动 xinference设置其他参数 2、加载模型3、模型交互 其它报错处理 - transformer.wte.weight 关于 xinference Xorbits Inference&#xff08;Xinference&#xff09;是一个性能强大且功能全面的分布式推理框架。 可用于大语言模型&#xff…

TIMESNET: TEMPORAL 2D-VARIATION MODELINGFOR GENERAL TIME SERIES ANALYSIS

本文整理至https://zhuanlan.zhihu.com/p/606575441这里是清华大学软件学院机器学习组官方公众号(THUML-LAB)&#xff0c;欢迎关注我们&#xff0c;获取最新资讯&#xff01; 本文介绍本组ICLR2023时间序列分析方向的最新工作&#xff1a;TimesNet: Temporal 2D-Variation Mode…

Linux/Ubuntu/Debian从控制台启动程序隐藏终端窗口

如果你想从终端运行应用程序但隐藏终端窗口. 你可以这样做&#xff1a; 在后台运行&#xff1a; 你只需在命令末尾添加一个与号 (&) 即可在后台运行它。 例如&#xff1a; your_command &将 your_command 替换为你要运行的命令。 这将在后台启动该命令&#xff0c…

NSGA-III算法:如何在多目标优化问题中找到最合适的解

当我们面临多个目标函数时&#xff0c;单目标的遗传算法可能无法满足需求。这时&#xff0c;我们可以引入多目标遗传算法。在这种情况下&#xff0c;目标函数可能存在冲突&#xff0c;例如&#xff0c;一个目标函数需要最小化&#xff0c;而另一个目标函数需要最大化。某个目标…