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

相关推荐
吃着火锅x唱着歌8 分钟前
LeetCode 962.最大宽度坡
算法·leetcode·职场和发展
无限进步_19 分钟前
【C++】C++11的类功能增强与STL变化
java·前端·数据结构·c++·后端·算法
WL_Aurora25 分钟前
Python 算法基础篇之排序算法(一):冒泡、选择、插入
python·算法·排序算法
凌波粒27 分钟前
LeetCode--257. 二叉树的所有路径(二叉树)
算法·leetcode·职场和发展
AI算法沐枫28 分钟前
大一学生如何入门机器学习,深度学习,学习顺序如何?
人工智能·python·深度学习·学习·线性代数·算法·机器学习
codealy35 分钟前
Rust 核心理论: 高并发与异步(三)
算法·rust
日月云棠42 分钟前
JAVA数据结构与算法 - 基础:常用集合简述
java·算法
TYKJ02343 分钟前
带宽100M但传输只有30M?你的服务器可能该换TCP算法了
后端·算法
SilentSamsara43 分钟前
运算符重载:让自定义对象支持 +、[]、in 操作
开发语言·python·算法·青少年编程·pycharm
日月云棠1 小时前
JAVA数据结构与算法 - 基础:BlockingQueue
java·算法