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()][]);
    }
}
相关推荐
kyle~15 分钟前
算法---贪心算法(Greedy Algorithm)
算法·贪心算法
fashion 道格19 分钟前
C 语言数组拼接:从基础实现到细节优化
算法
头发还没掉光光43 分钟前
Linux多线程之自旋锁与读写锁
linux·运维·算法
fashion 道格44 分钟前
C 语言希尔排序:原理、实现与性能深度解析
数据结构·算法·排序算法
初夏睡觉1 小时前
P1048 [NOIP 2005 普及组] 采药
数据结构·c++·算法
小欣加油1 小时前
leetcode 1513 仅含1的子串数
c++·算法·leetcode·职场和发展
树在风中摇曳1 小时前
【C语言预处理器全解析】宏、条件编译、字符串化、拼接
c语言·算法
CodeWizard~2 小时前
P7149 [USACO20DEC] Rectangular Pasture S题解
算法
fashion 道格2 小时前
用 C 语言破解汉诺塔难题:递归思想的实战演练
c语言·算法
李玮豪Jimmy2 小时前
Day18:二叉树part8(669.修剪二叉搜索树、108.将有序数组转换为二叉搜索树、538.把二叉搜索树转换为累加树)
java·服务器·算法