代码随想录算法训练营第三十四天|56. 合并区间、738.单调递增的数字、968.监控二叉树

56. 合并区间

在这里插入图片描述

题目链接:56. 合并区间
文档讲解:代码随想录
状态:无语,这题从右边界排序做不了!

思路:

  1. 排序:按照区间的起始位置进行排序,这样后面处理时可以顺序合并重叠区间。
  2. 合并:从第一个区间开始,依次检查每个区间是否与前一个区间重叠。
    • 如果重叠,就更新前一个区间的结束位置为当前区间的结束位置的最大值。
    • 如果不重叠,就将前一个区间加入结果列表,并更新当前区间为新的待合并区间。
  3. 收尾:遍历完所有区间后,将最后一个待合并的区间加入结果列表。

题解:

    public int[][] merge(int[][] intervals) {if (intervals.length <= 1) {return intervals;}// 按照区间的起始位置进行升序排序Arrays.sort(intervals, (a, b) -> a[0] - b[0]);List<int[]> list = new ArrayList<>();int[] pre = intervals[0];for (int i = 1; i < intervals.length; i++) {int[] cur = intervals[i];// 如果当前区间的起始位置小于等于前一个区间的结束位置,合并区间if (cur[0] <= pre[1]) {pre[1] = Math.max(cur[1], pre[1]); // 更新合并后的结束位置} else {list.add(pre); // 将前一个合并后的区间加入结果列表pre = cur; // 更新为当前区间,准备合并下一个区间}}list.add(pre); // 添加最后一个合并后的区间// 将结果转换为二维数组并返回return list.toArray(new int[list.size()][]);}

738.单调递增的数字

在这里插入图片描述

题目链接:738.单调递增的数字
文档讲解:代码随想录
状态:做出来了,但是比较费力。。。

思路:通过从后向前遍历整数的每一位,检查是否需要调整前一位来保持递增性,然后将需要调整的位置后的所有位数设为 ‘9’,最终返回调整后的整数值。

题解:

    public int monotoneIncreasingDigits(int n) {char[] chars = String.valueOf(n).toCharArray(); // 将整数 n 转换为字符数组int index = chars.length; // 初始化索引为字符数组的长度for (int i = chars.length - 1; i > 0; i--) { // 从倒数第二位开始向前遍历字符数组if (chars[i - 1] > chars[i]) { // 如果前一位大于当前位chars[i - 1]--; // 将前一位减 1index = i; // 更新索引为当前位置
//                不能使用chars[i] = '9',如100,就会出现90,正确答案是99}}for (int i = index; i < chars.length; i++) { // 从索引位置开始向后遍历字符数组chars[i] = '9'; // 将后面的所有位数设为 9}String s = String.valueOf(chars); // 将字符数组转换为字符串return Integer.parseInt(s); // 将字符串转换为整数并返回}

968.监控二叉树

题目链接:968.监控二叉树
文档讲解:代码随想录
状态:留着二刷

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

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

相关文章

记因hive配置文件参数运用不当导致 sqoop MySQL导入数据到hive 失败的案例

sqoop MySQL导入数据到hive报错 ERROR tool.ImportTool: Encountered IOException running import job: java.io.IOException: Hive exited with status 64 报错解释&#xff1a; 这个错误表明Sqoop在尝试导入数据到Hive时遇到了问题&#xff0c;导致Hive进程异常退出。状态码…

【安全审核】音视频审核开通以及计费相关

融云控制台音视频审核入口&#xff1a;音视频审核 1 音视频审核文档&#xff1a;融云开发者文档 1 提示&#xff1a; 开发环境&#xff1a; 免费体验 7 天&#xff08;含 21 万分钟音频流和 420 万张视频审核用量&#xff09;&#xff0c;免费额度用尽后&#xff0c;将关停服务…

电巢科技CIOE中国光博会:激光雷达技术应用研讨会圆满落幕!

2024年6月20日&#xff0c;由CIOE中国光博会与电巢科技联合主办的“激光雷达技术应用”线上研讨会成功举行。本次线上研讨会是CIOE中国光博会与电巢科技首次联合主办的论坛&#xff0c;旨在借助双方自身资源优势&#xff0c;为行业发展提供可靠的交流平台。接下来&#xff0c;C…

Kali Linux渗透测试指南(详细教程,建议收藏)

渗透测试是对信息系统遭受实际攻击时的一种受控模拟&#xff0c;是安全中十分重要的一部分。 渗透测试人员往往会使用一些成熟的工具&#xff0c;只有全面掌握这些工具&#xff0c;我们才能更好地进行渗透。 今天就给大家分享一份Kali Linux高级渗透测试指南&#xff0c;一共…

Android开发系列(九)Jetpack Compose之ConstraintLayout

ConstraintLayout是一个用于构建复杂布局的组件。它通过将子视图限制在给定的约束条件下来定位和排列视图。 使用ConstraintLayout&#xff0c;您可以通过定义视图之间的约束关系来指定它们的位置。这些约束可以是水平和垂直的对齐、边距、宽度和高度等。这允许您创建灵活而响…

基于51单片机的RFID门禁系统-LCD12864显示

一.硬件方案 本RFID系统设计可分为硬件部分和软件部分。硬件部分以MFRC522射频识别模块为核心&#xff0c;结合主控模块STC89C52设计系统的外围硬件电路&#xff0c;实现对射频卡的控制与MCU之间的互通。软件部分采用C语言进行系统的下位机程序的开发&#xff0c;完成与IC卡之…

数字内容“遍地开花”,AI技术如何创新“造梦”?

文 | 智能相对论 作者 | 陈泊丞 这是春晚舞台西安分会场《山河诗长安》的一幕&#xff1a;“李白”现世&#xff0c;带领观众齐颂《将进酒》&#xff0c;将中国人骨子里的豪情与浪漫演绎得淋漓尽致。 这又是浙江义乌商品市场里的另一幕&#xff1a;只会说几个英文单词的女老板…

C++初学者指南-2.输入和输出---文件输入和输出

C初学者指南-2.输入和输出—文件输入和输出 文章目录 C初学者指南-2.输入和输出---文件输入和输出1.写文本文件2.读文本文件3.打开关闭文件4.文件打开的模式 1.写文本文件 使用&#xff1a; std::ofstream&#xff08;输出文件流&#xff09; #include <fstream> // 文…

MySQL中的客户端选项(三)

默认情况下&#xff0c;LOAD DATA的LOCAL功能是否可用取决于MySQL客户端库在编译时是否启用了该功能。 当只给出--local-infile&#xff08;不带值&#xff09;时&#xff0c;它启用LOCAL数据加载。当给出--local-infile0时&#xff0c;它禁用LOCAL数据加载。当给出--local-in…

算法题--华为od机试考试(最大坐标值、寻找最富裕的小家庭、两个字符串间的最短路径问题)

目录 最大坐标值 题目描述 输入描述 输出描述 示例1 输入 输出 说明 解析 答案 寻找最富裕的小家庭 题目描述 输入描述 输出描述 示例1 输入 输出 说明 解析 答案 两个字符串间的最短路径问题 题目描述 ​编辑 输入描述 输出描述 示例1 输入 输出 …

discuz插件之优雅草超级列表互动增强v1.2版本更新

https://doc.youyacao.com/9/2142 v1.2更新 discuz插件之优雅草超级列表互动增强v1.2版本更新 [title]20220617 v1.2发布[/title] 增加了对php8的支持 增加了 对discuz3.5的支持

设计模式——桥接模式

桥接模式(Bridge) 在学习面向对象的过程中&#xff0c;可能会陷入一个误区&#xff0c;只要可以用&#xff0c;都用上继承&#xff0c;就好比因为有了新锤子&#xff0c;看什么东西都像是钉子了。   事实上&#xff0c;继承可能会带来一些麻烦。比如对象的继承关系是在编译阶…

ThreeJS-截屏下载pdf或者图片时白屏

JS-页面截图下载为pdf 关于如何下载为 pdf 在上面的这篇文章中有写&#xff0c;大家可以看下&#xff0c;下载图片代码在最下面 这时我们发现 three 部分是空白的如下&#xff1a; 这就多少有点尴尬了&#xff0c;这时我们习惯性的看下后台报错 是不是发现了惊喜&#xff0c;…

AI在肿瘤学临床决策中的应用:一种多模态方法

在临床肿瘤学领域&#xff0c;多模态人工智能&#xff08;AI&#xff09;系统通过解读各类医学数据&#xff0c;展现出提升临床决策的潜力。然而&#xff0c;这些模型在所有医学领域中的有效性尚未确定。本文介绍了一种新型的多模态医疗AI方法&#xff0c;该方法利用大型语言模…

突发!OpenAI停止不支持国家API,7月9日开始执行

6月25日凌晨&#xff0c;有部分开发者收到了OpenAI的信&#xff0c;“根据数据显示&#xff0c;你的组织有来自OpenAl目前不支持的地区的API流量。从7月9日起&#xff0c;将采取额外措施&#xff0c;停止来自不在OpenAI支持的国家、地区名单上的API使用。” 但这位网友表示&am…

WordPress如何删除前端评论中的网址字段?

前面跟大家分享的『WordPress插件Comment Link Remove and Other Comment Tools&#xff0c;删除评论网址字段』一文&#xff0c;通过安装插件可轻松删除前端评论中的网址字段&#xff0c;不过有些站长不喜欢安装插件&#xff0c;那么是否可以通过纯代码去掉网址字段呢&#xf…

Harbor本地仓库搭建004_Harbor配置管理功能_分布式分发功能_仓库管理_用户管理_垃圾清理_审查服务_项目定额---分布式云原生部署架构搭建00

然后我们再看一下配置管理,这里主要有个认证模式 这里我们是数据库,其实就是我们安装的postgresql 可以看到还有LDAP对吧,这个其实就是自己公司如果有 LDAP服务器,那么可以对接过来,那么,这个时候 再登录harbor的时候,就可以直接使用公司的,LDAP来管理,所有的用户了,其实就是…

Golang | Leetcode Golang题解之第173题二叉搜索树迭代器

题目&#xff1a; 题解&#xff1a; type BSTIterator struct {stack []*TreeNodecur *TreeNode }func Constructor(root *TreeNode) BSTIterator {return BSTIterator{cur: root} }func (it *BSTIterator) Next() int {for node : it.cur; node ! nil; node node.Left {it…

CLion2024 for Mac[po] C和C++的跨平台解代码编辑器

Mac分享吧 文章目录 效果一、下载软件二、开始安装1、双击运行软件&#xff08;适合自己的M芯片版或Intel芯片版&#xff09;&#xff0c;将其从左侧拖入右侧文件夹中&#xff0c;等待安装完毕2、应用程序显示软件图标&#xff0c;表示安装成功3、打开访达&#xff0c;点击【文…

【Deep Learning】Self-Supervised Learning:自监督学习

自监督学习 本文基于清华大学《深度学习》第12节《Beyond Supervised Learning》的内容撰写&#xff0c;既是课堂笔记&#xff0c;亦是作者的一些理解。 在深度学习领域&#xff0c;传统的监督学习(Supervised Learning)的形式是给你输入 x x x和标签 y y y&#xff0c;你需要训…