代码随想录算法训练营第三十一天 | 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

相关推荐
(Charon)11 小时前
【C++】定时器进阶:使用最小堆管理定时任务
c++·算法
hansang_IR11 小时前
【题解】 [省选联考 2021 A/B 卷] 卡牌游戏
c++·算法
这个DBA有点耶11 小时前
COUNT慢不是因为用了*,是这5个原因——1000万行数据实测+执行计划深度解析
数据库·mysql·算法
贾伟康11 小时前
【口算王|01】HarmonyOS ArkTS 口算题生成实战:按年级、运算类型和难度生成可控题目
算法·harmonyos·arkts·随机生成·口算题
lzx_00211 小时前
C++11(一)
开发语言·c++·算法
529宝宝起名网11 小时前
用 Python 实现名字寓意评分算法:基于 NLP 语义分析的名字内涵深度评估
python·算法·自然语言处理
带多刺的玫瑰13 小时前
Leecode#26刷题之删除有序数组中的重复项
数据结构·算法·leetcode
en.en..13 小时前
C语言核心解析:#define与typedef本质区别
开发语言·c++·算法
wabs66616 小时前
关于二叉树【429.N叉树的层序遍历的思考】
数据结构·c++·算法·leetcode·二叉树
hetao173383716 小时前
2026-09-08 hetao1733837 的刷题记录
c++·算法