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()][]);
    }
}
相关推荐
Liu628882 小时前
C++中的工厂模式高级应用
开发语言·c++·算法
AI科技星2 小时前
全尺度角速度统一:基于 v ≡ c 的纯推导与验证
c语言·开发语言·人工智能·opencv·算法·机器学习·数据挖掘
参.商.3 小时前
【Day41】143. 重排链表
leetcode·golang
条tiao条3 小时前
KMP 算法详解:告别暴力匹配,让字符串匹配 “永不回头”
开发语言·算法
干啥啥不行,秃头第一名3 小时前
C++20概念(Concepts)入门指南
开发语言·c++·算法
zzh940774 小时前
Gemini 3.1 Pro 硬核推理优化剖析:思维织锦、动态计算与国内实测
算法
2301_807367194 小时前
C++中的解释器模式变体
开发语言·c++·算法
愣头不青4 小时前
617.合并二叉树
java·算法
MIUMIUKK5 小时前
双指针三大例题
算法
灵感__idea5 小时前
Hello 算法:复杂问题的应对策略
前端·javascript·算法