代码随想录算法训练营第三十一天 | 58.合并区间、738.单调递增的数字

58.合并区间

题目链接

合并区间https://leetcode.cn/problems/merge-intervals/description/

核心思路

1,定义一个结果二维数组

2,将intervals按照左边界从小到大排序

3,先将intervals的第一个放入二维数组,然后在for循环判断下一个是否和它重叠。如果重叠,更新result里的数组的右边界;不重叠就直接放入result

易错点

在更新右边界时,选择的是最大值

738.单调递增的数字

题目链接

单调递增的数字https://leetcode.cn/problems/monotone-increasing-digits/

核心思路

从后往前遍历,如果当前这个小于前一个,那么前一个减减,当前这个变成9

1,定义一个flag,记录该从哪个索引开始后面都是9

2,for循环从后往前遍历

易错点

1,i 要 大于 0 ,因为要和前一个比,所以不能在0号索引

2,flag必须初始化为最大值哦,字符串的末尾。

3,字符本质也是数字,所以也能减减去达到一个减少1的效果

4,如果当前数值-1,为了达到最大的效果,后面的数值都可以无脑设置为9

相关推荐
只是懒得想了5 小时前
C++实现密码破解工具:从MD5暴力破解到现代哈希安全实践
c++·算法·安全·哈希算法
m0_736919105 小时前
模板编译期图算法
开发语言·c++·算法
dyyx1115 小时前
基于C++的操作系统开发
开发语言·c++·算法
m0_736919105 小时前
C++安全编程指南
开发语言·c++·算法
蜡笔小马5 小时前
11.空间索引的艺术:Boost.Geometry R树实战解析
算法·r-tree
-Try hard-5 小时前
数据结构:链表常见的操作方法!!
数据结构·算法·链表·vim
2301_790300965 小时前
C++符号混淆技术
开发语言·c++·算法
我是咸鱼不闲呀5 小时前
力扣Hot100系列16(Java)——[堆]总结()
java·算法·leetcode
嵌入小生0076 小时前
单向链表的常用操作方法---嵌入式入门---Linux
linux·开发语言·数据结构·算法·链表·嵌入式
LabVIEW开发6 小时前
LabVIEW金属圆盘压缩特性仿真
算法·labview·labview知识·labview功能·labview程序