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

1. LeetCode 56. 合并区间

题目链接:https://leetcode.cn/problems/merge-intervals/description/
文章链接:https://programmercarl.com/0056.合并区间.html
视频链接:https://www.bilibili.com/video/BV1wx4y157nD

在这里插入图片描述

思路:
本题关键是重叠后的右边界的确定,取最大的右边界,而不是最小右边界。

class Solution {
// 传统方法// public int[][] merge(int[][] intervals) {//     if (intervals.length==1) {//         return intervals;//     }//     // 升序//     Arrays.sort(intervals,(a,b)->{//         return a[0]>b[0]?1:a[0]<b[0]?-1:0;//     });//     int[][] temp = intervals.clone();//     List<int[]> res = new ArrayList<>();//     int left=intervals[0][0];//     int right=intervals[0][1];//     for (int i=1;i<temp.length;i++) {//         // 若不重叠//         if (temp[i][0] > temp[i-1][1]) {//             res.add(new int[]{left,right});//             left = intervals[i][0];//             right = intervals[i][1];//         } else { // 重叠//             temp[i][1] = Math.max(temp[i][1],temp[i-1][1]);//             right = Math.max(right,intervals[i][1]);//         }//     }//     res.add(new int[]{left,right});//     return res.toArray(new int[res.size()][]);// }public int[][] merge(int[][] intervals) {if (intervals.length==1) {return intervals;}// 升序Arrays.sort(intervals,(a,b)->{return a[0]>b[0]?1:a[0]<b[0]?-1:0;});List<int[]> res = new ArrayList<>();int left=intervals[0][0];int right=intervals[0][1];for (int i=1;i<intervals.length;i++) {// 若不重叠if (intervals[i][0] > right) {res.add(new int[]{left,right});left = intervals[i][0];right = intervals[i][1];} else { // 重叠right = Math.max(right,intervals[i][1]);}}res.add(new int[]{left,right});return res.toArray(new int[res.size()][]);}
}

2. LeetCode 738.单调递增的数字

题目链接:https://leetcode.cn/problems/monotone-increasing-digits/description/
文章链接:https://programmercarl.com/0738.单调递增的数字.html
视频链接:https://www.bilibili.com/video/BV1Kv4y1x7tP

在这里插入图片描述

思路:
本题关键:
1️⃣一旦出现strNum[i - 1] > strNum[i]的情况(非单调递增),则让strNum[i - 1]减一,strNum[i]赋值9;
2️⃣采用从后向前遍历的方式。

解法:
class Solution {public int monotoneIncreasingDigits(int n) {String str = n + "";char[] arr = str.toCharArray();int start=arr.length;for (int i=arr.length-1;i>0;i--) {if (arr[i-1] > arr[i]) {arr[i-1]--;start = i;}}for (int i=start;i<arr.length;i++) {arr[i] = '9';}return Integer.parseInt(new String(arr));}
}

3. LeetCode 968.监控二叉树

跳过

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

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

相关文章

SpringBoot新手快速入门系列教程十一:自动生成API文档,Springboot3.x集成SpringDoc

本次项目我们用Maven来做&#xff0c;最近发现gradle其实很多项目的支持比较差&#xff0c;所以项目还是用Maven来新建项目。对比了市面上的几种API生成第三方库&#xff0c;只有springdoc 是能够按照文档就能部署出来的。 官网&#xff1a; OpenAPI 3 Library for spring-bo…

北京航空航天大学学报

《北京航空航天大学学报》是由中华人民共和国工业和信息化部主管&#xff0c;北京航空航天大学主办的中文核心期刊&#xff0c;中国精品科技期刊。1956年创刊&#xff0c;现为月刊&#xff0c;主要刊登有关航空航天及相关学科的优秀学术论文&#xff0c;面向国内外发行。 《北…

链接追踪系列-04.linux服务器docker安装elk

[rootVM-24-17-centos ~]# cat /proc/sys/vm/max_map_count 65530 [rootVM-24-17-centos ~]# sysctl -w vm.max_map_count262144 vm.max_map_count 262144 #先创建出相应目录&#xff1a;/opt/dockerV/es/…docker run -e ES_JAVA_OPTS"-Xms512m -Xmx512m" -d -p 92…

渗透测试入门指南:关键术语一览

引言 在信息安全领域&#xff0c;渗透测试&#xff08;Penetration Testing&#xff09;是一项重要的技能。对于初学者而言&#xff0c;理解一些常用的专业术语是迈向渗透测试的第一步。本文将为基础小白详细介绍渗透测试中的关键术语&#xff0c;帮助你快速上手。 1. POC、EX…

【流媒体】 通过ffmpeg硬解码拉流RTSP并播放

简介 目前RTSP拉流是网络摄像头获取图片数据常用的方法&#xff0c;但通过CPU软解码的方式不仅延时高且十分占用资源&#xff0c;本文提供了一种从网络摄像头RTSP硬解码的拉流的方法&#xff0c;并且提供python代码以便从网络摄像头获取图片进行后续算法处理。 下载ffmpeg F…

2024-07-15 Unity插件 Odin Inspector3 —— Button Attributes

文章目录 1 说明2 Button 特性2.1 Button2.2 ButtonGroup2.3 EnumPaging2.4 EnumToggleButtons2.5 InlineButton2.6 ResponsiveButtonGroup 1 说明 ​ 本章介绍 Odin Inspector 插件中有关 Button 特性的使用方法。 2 Button 特性 2.1 Button 依据方法&#xff0c;在 Inspec…

QT控件篇三

一、微调框 微调框&#xff08;QSpinBox&#xff09;是一个常用的Qt控件&#xff0c;允许用户通过增加或减少值来输入数字。分为两种, 整型-QSpinBox 浮点 QDoubleSpinBoxQSpinBox&#xff08;微调框&#xff09;的 setSingleStep 函数可以用来设置每次调整的步长&#xff08;…

【人工智能】人工智能与传统美工结合,AI美工的详细解析。

AI美工是一个结合了人工智能技术与美工设计的岗位&#xff0c;它利用AI工具和技术来辅助或完成美工设计的各项工作。以下是对AI美工的详细解析&#xff1a; 一、定义与职责 AI美工是指能够熟练使用AI工具和技术&#xff0c;如Midjourney、StableDiffusion等AIGC&#xff08;人…

QT 没有与参数列表匹配的函数模板qMin”实例参数类型为:(<error-type>,quint16)

quint16 numberOfEntries qMin (ui–>readSize->currentText (). toUShort (), quint16 (10 - startAddress)) ;template<class T> constexpr const T &qMin(const T &a, const T &b)quint16 numberOfEntries qM联机搜索return QModbusDataUnit (tab…

Spring Boot与Apache Pulsar的集成

Spring Boot与Apache Pulsar的集成 大家好&#xff0c;我是免费搭建查券返利机器人省钱赚佣金就用微赚淘客系统3.0的小编&#xff0c;也是冬天不穿秋裤&#xff0c;天冷也要风度的程序猿&#xff01; 一、引言 Apache Pulsar作为一款高性能、持久化的分布式消息系统&#xf…

2024安全行业大模型技术应用态势发展报告

以上是资料简介和目录&#xff0c;如需下载&#xff0c;请前往星球获取&#xff1a;https://t.zsxq.com/dH9bu

qt 队列和线程

1.qt 队列应用 概要 这里采用定周期检查任务的方式来处理队列&#xff0c;虽然没有分线程&#xff0c;但和大部分队列任务的处理方式相同&#xff0c;因为队列最主要的价值就是对任务的排队&#xff0c;所以这种方式是一种很常用的场景。 开始 Qt 队列应用通常涉及到在 Qt …

Python爬虫入门篇学习记录

免责声明 本文的爬虫知识仅用于合法和合理的数据收集&#xff0c;使用者需遵守相关法律法规及目标网站的爬取规则&#xff0c;尊重数据隐私&#xff0c;合理设置访问频率&#xff0c;不得用于非法目的或侵犯他人权益。因使用网络爬虫产生的任何法律纠纷或损失&#xff0c;由使用…

计算机网络之网络互连

1.什么是网络互连 1.1网络互连的目的 将两个或者两个以上具有独立自治能力的计算机网络连接起来&#xff0c;实现数据流通&#xff0c;扩大资源共享范围&#xff0c;或者容纳更多用户。 网络互连包括&#xff1a; 同构网络、异构网络的互连&#xff0c; 局域网与局域网&…

【Linux】多线程_5

文章目录 九、多线程6. 条件变量7. 生产者消费者模型 未完待续 九、多线程 6. 条件变量 在多线程编程中&#xff0c;一个或多个线程可能需要等待某个条件的发生&#xff0c;然后才能继续执行&#xff0c;而不是一直忙等。这种等待通常会占用CPU资源。条件变量提供了一种机制&…

【Java 的四大引用详解】

首先分别介绍一下这几种引用 强引用&#xff1a; 只要能通过GC ROOT根对象引用链找到就不会被垃圾回收器回收&#xff0c;当所有的GC Root都不通过强引用引用该对象时&#xff0c;才能被垃圾回收器回收。 软引用&#xff08;SoftReference&#xff09;&#xff1a; 当只有软引…

从汇编层看64位程序运行——栈上变量的rbp表达

在《从汇编层看64位程序运行——参数传递的底层实现》中&#xff0c;我们看到了栈帧中的变量是分为两种&#xff1a; 局部非静态变量。调用超过6个参数的函数时&#xff0c;从第7个参数开始的入参。 比如下面的代码 void foo10(int a, int b, int c, int d, int e, int f, i…

数仓工具—Hive基础之临时表及示例

Hive基础之临时表及示例 临时表是应用程序自动管理在大型或复杂查询执行期间生成的中间数据的一种便捷方式。Hive 0.14 及更高版本支持临时表。可以在用户会话中像使用普通表一样多次使用它们。在本文中,我们将介绍 Apache Hive 临时表,以及如何创建和使用限制的示例。 Hiv…

Python实现简单的ui界面设计(小白入门)

引言&#xff1a; 当我们书写一个python程序时&#xff0c;我们在控制台输入信息时&#xff0c;往往多有不便&#xff0c;并且为了更加美观且直观的方式输入控制命令&#xff0c;我们常常设计一个ui界面&#xff0c;这样就能方便执行相关功能。如计算器、日历等界面。 正文&a…

水表数字识别2:Pytorch DBNet实现水表数字检测(含训练代码和数据集)

水表数字识别2&#xff1a;Pytorch DBNet实现水表数字检测(含训练代码和数据集) 目录 水表数字识别2&#xff1a;Pytorch DBNet实现水表数字检测(含训练代码和数据集) 1.前言 2. 水表数字识别的方法 3. 水表数字识别数据集 4. 水表数字分割模型训练 &#xff08;1&#x…