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

力扣面试150 插入区间 模拟

Problem: 57. 插入区间
在这里插入图片描述

👨‍🏫 代码随想录

在这里插入图片描述

模拟

⏰ 时间复杂度: O ( n ) O(n) O(n)

class Solution {
    public int[][] insert(int[][] intervals, int[] newInterval) {
        int idx = 0;
        List<int[]> res = new ArrayList<>();
        while (idx < intervals.length && intervals[idx][1] < newInterval[0]) { // 寻找需要合并的区间
            res.add(intervals[idx]);
            idx++;
        }

        while (idx < intervals.length && intervals[idx][0] <= newInterval[1]) { // 待合并区间头小于当前区间尾
            newInterval[0] = Math.min(newInterval[0], intervals[idx][0]); // 更新待合并区间头
            newInterval[1] = Math.max(newInterval[1], intervals[idx][1]); // 更新待合并区间尾
            idx++;
        }
        res.add(newInterval);// 加入合并区间
        while (idx < intervals.length) { // 加入剩余区间
            res.add(intervals[idx++]);
        }
        return res.toArray(new int[res.size()][]);
    }
}

http://www.kler.cn/news/284981.html

相关文章:

  • 【经典面试题】Kafka为什么这么快?
  • Qt: QGraphicsView二维图形绘图框架
  • sql 4,创建表类型
  • HTML <template> 标签的基本技巧
  • flutter 开发中常用的 Widget
  • Metasploit漏洞利用系列(十):MSF渗透测试 - 震网三代(远程快捷方式漏洞)实战
  • Elasticsearch中别名的作用
  • .NET WPF 抖动动画
  • python 天气与股票的关系--第一部分,爬取数据
  • 新审视零阶优化在内存高效大模型微调中的应用
  • 你是如何克服编程学习中的挫折感的?——从Bug中找到成长的契机
  • Linux awk案例
  • Dataworks_PySpark开发流程
  • azure-search-openai-demo-csharp does not deploy correctly to azure clooad
  • vue项目打包压缩静态资源—使用compression-webpack-plugin
  • 是否应该使用WordPress自动更新的功能
  • ComfyUI使用Flux模型
  • 黑马JavaWeb开发笔记07——Ajax、Axios请求、前后端分离开发介绍、Yapi详细配置步骤
  • 网络压缩之参数量化(parameter quantization)
  • Spring Boot发送http请求
  • C语言补习课
  • gdb 教程
  • springboot学习(2)
  • 美团2024秋招编程题:小美的red子序列数量之和
  • WebSocket 实现消息推送
  • AOP 面向切片编程
  • 我的推荐:腾讯云罗云《从零构建向量数据库》
  • 无人机之遥控器防水性能篇
  • Ubuntu 20.04 安装 GitHub CLI(gh),并使用
  • C语言——简单的do while循环找100~999之间的水仙花数(所有的三位水仙花数)