文章链接: 56. 合并区间、 738.单调递增的数字
视频链接: 56. 合并区间、 738.单调递增的数字
题目链接: 56. 合并区间、 738.单调递增的数字
56.合并区间
思路:
1.将区间根据左边界排序;
2.将第一个区间放入结果集中,便于以后的合并;
3.遍历到与结果集最后一个区间重叠的区间就更新右边界;
3.遍历到与结果集最后一个区间不重叠的区间就直接放入结果集中。
738.单调递增的数字
思路:
从后往前遍历,一旦出现strNum[i - 1] > strNum[i]的情况(非单调递增),就让strNum[i - 1]--,然后strNum[i]给为9;
注意:
要用一个flag记录一下,便于将flag后的都赋值为9。
为什么要这样做?举列子:1000。
如果只是将非递增的部分的后一位变为9,而不去管其他的,那么得到的是900,但900并不是最终的答案,999才是。