Leetcoder Day32| 贪心算法part05

738.单调递增的数字

给定一个非负整数 N,找出小于或等于 N 的最大的整数,同时这个整数需要满足其各个位数上的数字是单调递增。

(当且仅当每个相邻位数上的数字 x 和 y 满足 x <= y 时,我们称这个整数是单调递增的。)

示例 1:

  • 输入: N = 10
  • 输出: 9

示例 2:

  • 输入: N = 1234
  • 输出: 1234

示例 3:

  • 输入: N = 332
  • 输出: 299
java 复制代码
class Solution {
    public int[][] merge(int[][] intervals) {
        List<int[]> res=new LinkedList<>();
        Arrays.sort(intervals, (a,b)->Integer.compare(a[0], b[0]));
        int start=intervals[0][0];
        int end =intervals[0][1];
        for(int i=1;i<intervals.length;i++){
            if(intervals[i][0]>end){//不重叠
                res.add(new int[]{start, end});//将当前节点加入res
                start=intervals[i][0];  //更新start
                end=intervals[i][1];
            }else{
                end=Math.max(end, intervals[i][1]); //更新最大右边界
            }
        }
        res.add(new int[]{start, end});
        return res.toArray(new int[res.size()][]);
    }
}
相关推荐
busideyang6 分钟前
函数指针类型定义笔记
c语言·笔记·stm32·单片机·算法·嵌入式
Wect7 分钟前
LeetCode 215. 数组中的第K个最大元素:大根堆解法详解
前端·算法·typescript
深邃-18 分钟前
数据结构-双向链表
c语言·开发语言·数据结构·c++·算法·链表·html5
2401_8785302120 分钟前
分布式任务调度系统
开发语言·c++·算法
_深海凉_37 分钟前
LeetCode热题100-两数之和
算法·leetcode·职场和发展
nunca_te_rindas41 分钟前
算法刷体小结汇总(C/C++)20260328
c语言·c++·算法
Sunshine for you43 分钟前
高性能压缩库实现
开发语言·c++·算法
Sunshine for you44 分钟前
C++中的表达式模板
开发语言·c++·算法
qwehjk20081 小时前
C++中的状态模式
开发语言·c++·算法
Fortune791 小时前
自定义类型转换机制
开发语言·c++·算法