leetcode77.组合

编写CPP代码感悟:
能用vector就别用普通数组,如果是用vector的话,debug的时候clion的调试界面会更加友好,如果是数组的话,好像没有便捷查看数组元素的方式,比较F*&&*k,而且写vector引用比编写数组引用便捷!
回溯算法感悟
伪代码如下

class Solution {
public:vector<vector<int>> paths;vector<int> path;vector<vector<int>> combine(int n, int k) {vector<bool> visit(k+1);dfs(params....);return paths;}void dfs(vector<bool>& visit,int idx,int n,int k){if(path.size()==k){paths.push_back(path);return;}for(int i=idx;i<=n;++i){if(!visit[i]){visit[i]=1;//组合问题标记path.push_back(i);//添加元素dfs(visit,i+1,n,k);//一定要记得i+1不要瞎搞成i,一定要往下一层深度遍历path.pop_back();//删除尾部visit[i]=0;//组合问题解除标记}}}
};

完整代码如下:

class Solution {
public:vector<vector<int>> paths;vector<int> path;vector<vector<int>> combine(int n, int k) {vector<bool> visit(k+1);dfs(visit,1,n,k);//delete[] visit;return paths;}void dfs(vector<bool>& visit,int idx,int n,int k){if(path.size()==k){paths.push_back(path);// path.clear();return;}for(int i=idx;i<=n;++i){if(!visit[i]){visit[i]=1;path.push_back(i);dfs(visit,i+1,n,k);path.pop_back();visit[i]=0;}}}
};

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

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

相关文章

再次度过我的创作纪念日

机缘 写博客的机缘巧合已经在上一篇博客中写到了&#xff0c;至于收获和成就也不一一赘述了。想和大家聊的呢就这最近这一年左右的经历吧 日常 自从2022年开始&#xff0c;入职了一家大型的项目外派公司&#xff0c;名字就不说了。开始了我的保险公司系统的开发工作。工作地点…

Shell脚本的高级用法

当涉及到Shell脚本的高级用法时&#xff0c;您可以探索以下几个方面&#xff1a; 1. 高级流程控制 Case语句&#xff1a;类似于多个if-else语句的结构&#xff0c;根据不同的条件执行不同的代码块。 case "$variable" invalue1)# do something;;value2)# do somethi…

后端代码1

// 新增 public JsonResultVo<?> create(ApiIgnore RequestAttribute(ConstVal.REQ_USER) BaseUser baseUser,RequestBody IUTradeBuyPreserveVo iuTradeBuyPreserveVo) {//权限判断if (!baseCompanyService.dataPermission(baseUser, iuTradeBuyPreserveVo.getCompanyi…

wma怎么转换成mp3?无损转换!

WMA&#xff08;Windows Media Audio&#xff09;文件格式诞生于微软公司的数字音频技术研发。由于其高压缩性能和较好的音质&#xff0c;在推出初期主要用于Windows Media Player等微软产品。然而&#xff0c;随着MP3格式的盛行&#xff0c;WMA的使用范围逐渐受到限制。 MP3文…

pytorch简单的优化问题实战

目录 1. Himmelblau函数2. python画出函数图3. 梯度优化代码 1. Himmelblau函数 如下图&#xff1a; 从图中的碗一样的图中可以看出有4个极值点&#xff0c;那么经过优化后&#xff0c;会有4个结果。 4个点的结果见下图&#xff1a; 2. python画出函数图 3. 梯度优化代码 源…

必看,使用Provider优雅解决Riverpod的参数依赖

上一篇文章详细说明了状态管理在开发中的位置和所依赖的基础方法&#xff0c;帧与帧之间的变化是对应状态变化的体现&#xff0c;但每个框架都有其侧重点&#xff0c;Getx侧重简单&#xff0c;简单的页面&#xff0c;简单的状态管理&#xff0c;相对应的是复杂参数, 以及依赖传…

【Kubernetes】在 CentOS 7 上搭建 Kubernetes

在CentOS 7上从零开始搭建一个单节点Kubernetes(K8S)集群并安装Kubernetes Dashboard,可以按照以下步骤进行: 1. 环境准备 确保您的CentOS 7系统已经安装并更新到最新版本。您还需要确保系统具有足够的资源来运行Kubernetes集群。 2. 关闭SELinux和防火墙 出于简化操作…

西圣VS飞利浦VS倍思开放式耳机哪款值得入手?爆款产品无广大测评

在当今这个无线耳机盛行的时代&#xff0c;开放式耳机以其独特的佩戴舒适度和出色的音质体验&#xff0c;逐渐赢得了消费者的青睐&#xff0c;西圣、飞利浦、倍思作为市场上的知名品牌&#xff0c;都推出了各具特色的开放式耳机产品&#xff0c;许多消费者也因此不知道哪款更加…

《MySQL数据库》day3 -- 约束条件(非空、唯一性、主键、外键)、事务的四大特性(隔离性)

文章目录 0.技巧1.约束&#xff08;非常重要&#xff09;1.1什么是约束&#xff1f;1.2约束的种类1.3非空约束 not null1.4唯一性约束 unique1.5主键约束 primary key1.6外键约束&#xff08;foreign key&#xff0c;简称FK&#xff09; 2.事务&#xff08;很重要&#xff09;2…

如何安装和使用 Yarn

如何安装和使用 Yarn Yarn 是一个流行的包管理器&#xff0c;专为 JavaScript 项目设计&#xff0c;以提高依赖项管理的效率和一致性。与 npm 相比&#xff0c;Yarn 提供了更快的依赖安装速度、更准确的版本控制和改进的安全性&#xff0c;使其成为许多开发者的首选。 安装前…

在vue中使用echarts饼图示例

1.安装 npm install echarts --save 2.官方示例 option {title: {text: Referer of a Website,subtext: Fake Data,left: center},tooltip: {trigger: item},legend: {orient: vertical,left: left},series: [{name: Access From,type: pie,radius: 50%,data: [{ value: 104…

用css滤镜做颜色不同的数据卡片(背景图对于css滤镜的使用)

<template> <div class"xx_modal_maincon"><div class"xx_model_bt">履约起始日至计算日配额及履约情况</div><el-row><el-col :span"6"><div class"xx_modal_mod"><div class"mod…

虚拟机Linux-openEuler硬盘空间扩容

虚拟机Linux-openEuler硬盘空间扩容 1、需求场景 我们在使用虚拟机时&#xff0c;可能会出现磁盘空间不够用导致各种bug出现的情况。 首先&#xff0c;我们要扩展虚拟机的可用磁盘空间。如图所示&#xff0c;我的原本硬盘大小为8G&#xff0c;我们扩展到30GB 2、打开虚拟机…

android_uiautomator元素定位

通过UIAUTOMATOR的text属性定位到元素&#xff0c;并打印文本from appium import webdriver from appium.webdriver.common.appiumby import AppiumBy import time # For W3C actions from selenium.webdriver.common.action_chains import ActionChains from selenium.webdriv…

1_88. 合并两个有序数组

1_88. 合并两个有序数组 难度: 简单 提示: 给你两个按 非递减顺序 排列的整数数组 nums1 和 nums2&#xff0c;另有两个整数 m 和 n &#xff0c;分别表示 nums1 和 nums2 中的元素数目。请你合并 nums2 到 nums1 中&#xff0c;使合并后的数组同样按 非递减顺序 排列。 注意…

【CSP试题回顾】202006-1-线性分类器(优化)

CSP-202006-1-线性分类器 解题思路 1.数据结构&#xff1a; 代码使用了一个名为 MyPoint 的结构体来表示空间中的点。这个结构体包含三个属性&#xff1a;x 和 y 表示点的坐标&#xff0c;type 表示点的类型。点的类型用整数表示&#xff0c;类型 ‘A’ 用 0 表示&#xff0…

使用U盘重装CentOS7系统

下载CentOS7 系统镜像 制作启动U盘之前&#xff0c;首先要准备一个系统镜像&#xff0c;这里我在CentOS官网直接下载镜像文件&#xff1a; CentOS官网 为了保证下载速度&#xff0c;这里我使用阿里云镜像下载&#xff1a; 阿里云镜像 如上图所示&#xff0c;我需要一个带UI界…

ES 进阶知识

索引Index 一个索引就是一个拥有几分相似特征的文档的集合。比如说&#xff0c;你可以有一个客户数据的索引&#xff0c;另一个产品目录的索引&#xff0c;还有一个订单数据的索引。一个索引由一个名字来标识&#xff08;必须全部是小写字母&#xff09;&#xff0c;并且当我们…

pytorch代码中optimizer.step()和scheduler.step()有什么区别

optimizer.step()通常用在每个patch_size之中(一个patch_size的数据更新一次模型参数)&#xff0c;而scheduler.step()通常用在epoch里面,但是不绝对&#xff0c;可以根据具体的需求来做。只有用了optimizer.step()&#xff0c;模型才会更新&#xff0c;而scheduler.step()是对…

【机器学习】无监督学习算法之:K均值聚类

K均值聚类 1、引言2、K均值聚类2.1 定义2.2 原理2.3 实现方式2.4 算法公式2.4.1 距离计算公式2.4.1 中心点计算公式 2.5 代码示例 3、总结 1、引言 小屌丝&#xff1a;鱼哥&#xff0c; K均值聚类 我不懂&#xff0c;能不能给我讲一讲&#xff1f; 小鱼&#xff1a;行&#xf…