当前位置: 首页 > news >正文

代码随想录DAY31|56. 合并区间、738.单调递增的数字、968.监控二叉树

1. 合并区间

力扣

涉及重叠区间问题,首先仍然是将所有元素进行排序。用一个start和end记录当前重叠的区间,如果当前遍历到的元素左边界小于等于区间边界,则更新区间右边界end;如果没有交叉,则将当前区间记录到结果,同时更新start和end。注意全部遍历完之后要将最后一个start -> end区间加到结果里。
在这里插入图片描述

class Solution {
    public int[][] merge(int[][] intervals) {
        List<int []> res = new LinkedList<>();
        Arrays.sort(intervals,(a,b)->(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){
                end = Math.max(intervals[i][1], end);
                
            }else{
                res.add(new int[]{start, end});
                start = intervals[i][0];
                end = intervals[i][1];
            }
        }
        res.add(new int[]{start, end});
        return res.toArray(new int[res.size()][]);
    }
}

2. 单调递增的数字

力扣
本题涉及字符串、字符数组和整数的互相替换,要掌握相关的方法。

对于非递增的情况,如98,strNum[i - 1] > strNum[i],要将strNum[i - 1]–,strNum[i]和后面的部分都置为9。然后要考虑遍历的方向。如果从前向后遍历,会出现332变成329,前面变得非递增了,所以只能从后往前遍历。

class Solution {
    public int monotoneIncreasingDigits(int n) {
        String s = String.valueOf(n);
        char[] chars = s.toCharArray();
        int start = s.length();
        for(int i = s.length() - 1; i > 0; i--){
            if(chars[i - 1] > chars[i]){
                chars[i - 1]--;
                start = i;
            }
        }
        for(int i = start; i < chars.length; i++){
            chars[i] = '9';
        }
        return Integer.parseInt(String.valueOf(chars));
    }
}

3. 监控二叉树

二刷补上

相关文章:

  • springboot020基于Java的免税商品优选购物商城
  • Sam Altman 揭秘 OpenAI 未来蓝图:GPT-4.5、GPT-5 与模型规范重大更新
  • 鸿蒙app开发中 tab 切换的时候 里面的子组件如何在页面出现的时候 就请求数据
  • 2025年2月14日笔记 3
  • git如何下载指定版本
  • 二、交换机的vlan子设备接入
  • C语言进阶习题(4结构体)【1】通讯录的实现
  • 洛谷 acwing刷题 有关图的存储形式和djstra算法的例题
  • IDEA常用快捷键
  • 微信小程序的制作
  • 细读 React | React Router 路由切换原理
  • 深度卷积神经网络实战海洋动物图像识别
  • 数据科学之数据管理|python for Excel
  • React 什么时候会触发重新渲染?
  • 工业相机选型五要素
  • Java 大视界 -- 大数据伦理与法律:Java 技术在合规中的作用与挑战(87)
  • 前端框架React知识回顾
  • 一次使用十六进制溢出绕过 WAF实现XSS的经历
  • 【鸿蒙开发】第三十四章 DevEco Studio - 故障分析汇总
  • 三格电子——TCP转ProfibusDP网关使用场景
  • 电子商务网站建设与运营的试题/百度指数网
  • 网站在线客服插件代码/北京今日重大新闻
  • 蓝色政府网站模板/自媒体平台注册入口
  • 政府类网站建设/python培训
  • 体育如何做原创视频网站/新冠疫苗接种最新消息
  • 易县有没有z做网站的/网站推广引流