当前位置: 首页 > 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/a/284981.html

相关文章:

  • 《云原生安全攻防》-- K8s安全防护思路
  • 【Xrdp联机Ubuntu20.04实用知识点补充】
  • 【go从零单排】Mutexes互斥锁
  • 为什么在Ubuntu下使用VScode开发C++程序时需要手动配置链接库
  • 2024AAAI | DiffRAW: 利用扩散模型从手机RAW图生成单反相机质量的RGB图像
  • ssd作为hdd缓存加速方案
  • 【经典面试题】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请求