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

相关推荐
张李浩3 小时前
Leetcode 054螺旋矩阵 采用方向数组解决
算法·leetcode·矩阵
big_rabbit05023 小时前
[算法][力扣101]对称二叉树
数据结构·算法·leetcode
美好的事情能不能发生在我身上3 小时前
Hot100中的:贪心专题
java·数据结构·算法
2301_821700534 小时前
C++编译期多态实现
开发语言·c++·算法
xixihaha13244 小时前
C++与FPGA协同设计
开发语言·c++·算法
小小怪7504 小时前
C++中的函数式编程
开发语言·c++·算法
xixixiLucky4 小时前
编程入门算法题---小明爬楼梯求爬n层台阶一共多少种方法
算法
剑锋所指,所向披靡!5 小时前
数据结构之线性表
数据结构·算法
m0_672703317 小时前
上机练习第49天
数据结构·算法
样例过了就是过了7 小时前
LeetCode热题100 N 皇后
数据结构·c++·算法·leetcode·dfs·深度优先遍历