leetcode 57. Insert Interval(插入区间)

那些年-SAP固定资产导入AS91 OASV 固定资产起初导入步骤: 第一部分:资产数据导入 1)两个日期配置 填写图片摘要(选填) Specify transfer date/last closed fiscal year 这里的日期填写系统切换日期,如果系统是2015-10-01上线,这里填写2015-09-3 填写图片摘要(选填) Specifylast period posted in prv system 这里指定系统切换的上一期间。这里写2015-09 填写图片摘要(选填) ​2)AS91新增 填写固定资产的分类,公司 阅读详情

Given a set of non-overlapping intervals, insert a new interval into the intervals (merge if necessary).

You may assume that the intervals were initially sorted according to their start times.

Example 1:

Input: intervals = [[1,3],[6,9]], newInterval = [2,5]
Output: [[1,5],[6,9]]
Example 2:

Input: intervals = [[1,2],[3,5],[6,7],[8,10],[12,16]], newInterval = [4,8]
Output: [[1,2],[3,10],[12,16]]
Explanation: Because the new interval [4,8] overlaps with [3,5],[6,7],[8,10].

和56题一样,但是不是直接给的intervals,而是除了已有的排好序的intervals,还有一个新的interval,算上新的interval要求output一个不含overlap的intervals

思路:

因为已经是排好序的,不需要再额外排序了。

case 1: newInterval的起点 > intervals[i]的终点时,没有重叠,直接把intervals[i] 加入到结果。

case 2: newInterval的终点 < intervals[i]的起点时,没有重叠,这时把newInterval加入到结果,
然后把newInterval更新到当前区间
(等于借用了newInterval的空间保存当前区间,不然就要新开辟一个空间保存当前区间).

case 3: 重叠时,这时newInterval的起点要么<= interval[i]的起点,要么 > interval[i]的起点,
(因为前面已经有了newInterval的起点 > intervals[i]的终点的case,所以它肯定不会超过interval[i]的终点。同样的,newInterval的终点不会<intervals[i]的起点.)

这种情况下,只需更新newInterval的起点为二者最小,终点为二者最大,因为不能保证后面是不是还有新的重叠,所以暂时不加入到结果中。

等遍历完毕,再把最后更新的newInterval加入到结果中。
(你可能会说,最后加入的newInterval会不会已经在结果中了,会不会加重复了?注意看case 1, 虽然加入了newInterval, 但是newInterval会更新到新的区间,所以不会重复的。)

    public int[][] insert(int[][] intervals, int[] newInterval) {
        int n = intervals.length;

        List<int[]> list = new ArrayList<>();

        for(int i = 0; i < n; i++) {
            int[] tmp = intervals[i];

            if(newInterval[0] > tmp[1]) {
                list.add(tmp);
            } else if(newInterval[1] < tmp[0]) {
                list.add(newInterval);
                newInterval = tmp;
            }else {
                newInterval[0] = Math.min(tmp[0], newInterval[0]);
                newInterval[1] = Math.max(tmp[1], newInterval[1]);
            }
        }
        list.add(newInterval);
        int[][] res = new int[list.size()][2];
        list.toArray(res);

        return res;
    }
从真题到策略:浙江工业大学计算机转专业机试全解析与备考指南 本文全面解析浙江工业大学计算机转专业机试的考试概况、典型真题和高频考点,提供详细的备考策略和面试准备建议。从机试题目类型到解题技巧,帮助考生高效备考,顺利通过这一竞争激烈的转专业关卡。 阅读详情

相关推荐

云服务器安装ros教程

要在 CentOS 7 系统上安装 RouterOS,您需要将 RouterOS 安装为虚拟机或直接安装到物理硬盘上。这里提供的是将 RouterOS 安装到物理硬盘上的步骤,这将完全替换现有的 CentOS 7 系统。请确保您已经备份了所有重要数据。

qq_37662563的博客 2145

嵌入式开发环境配置利器:Topeet Toolbox 图形化工具实战指南

在嵌入式Linux开发中,环境配置是项目启动的关键环节,涉及串口调试、网络设置、文件系统挂载和交叉编译工具链部署等一系列基础操作。其核心原理在于通过命令行与开发板建立稳定通信,并执行系统配置脚本,以实现主机与目标板的协同工作。这项技术的价值在于将重复、易错的手动流程标准化与自动化,从而显著提升开发效率,降低学习门槛。典型的应用场景包括基于ARM架构(如RK3568、i.MX6ULL)的开发板原型验证、团队协作环境搭建以及教育培训。本文聚焦的Topeet Toolbox,正是这样一款针对迅为等国产开发板的图形

weixin_33766805的博客 424

URDF模型转换实战:解决SolidWorks到Gazebo的五大常见问题

本文详细解析了从SolidWorks导出URDF模型到Gazebo仿真过程中常见的五大问题及解决方案,包括插件安装、坐标系建立、Link与Joint配置等关键步骤。通过实战经验分享,帮助机器人仿真工程师高效完成模型转换,确保Gazebo仿真准确性。

weixin_29052717的博客 442

Insert Interval

题目 给出一些非重叠区间,插入一个新区间 有[1,3],[6,9], 插入 [2,5] 结果为 [1,5],[6,9]. 有[1,2],[3,5],[6,7],[8,10],[12,16], 插入 [4,9] 结果为 [1,2],[3,10],[12,16]. 思路:大致三种情况 主要注意区间范围的限制。 代码 class Solution

--- 自由在高处 416

SiamFC++笔记

SiamFC++: Towards Robust and Accurate Visual Tracking with Target Estimation Guidelines 文章根据这些思路:引入分类和目标状态估计分支(G1),无歧义的分类得分(G2),无先验知识的跟踪(G3)和评估质量得分(G4)来设计SiamFC ++。 SiamRPN ++和SiamFC ++的比较(红色部分代表得分高的区域): guide: G1 : 分类和状态估计任务的分离:分类任务将目标从干扰物和背景中分类出来,目标状态

木木JL的博客 9431

Android车载桌面开发实战:从CarLauncher源码解析到自定义Launcher开发(Android 11)

本文深入解析了Android 11中CarLauncher的源码架构与核心模块,并提供了从零开始定制开发车载Launcher的完整实战指南。内容涵盖车载桌面的独特定位、驾驶场景优化、多屏协同、动态内容嵌入等核心挑战,以及如何构建符合安全规范、体验流畅的自定义车载桌面应用,是车载应用开发者提升系统级定制能力的实用参考。

weixin_29266647的博客 515

Insert Interval(区间插入)

Given a set of non-overlapping intervals, insert a new interval into the intervals (merge if necessary). You may assume that the intervals were initially sorted according to their start times. Example 1: Given intervals [1,3],[6,9], insert and merge [2,5

cow__sky的专栏 1644

数字IC后端笔记-libcell命名规则与标准单元库介绍

ND3D1BWP13T40P140HVTND3D1BWP13T40P140HVTTSMC两种工艺,Metalization Stack的截面示意图:还有一层AP用来走RDL,RDL这层是最厚的一层,一般用于连接IO的bump,信号线基本上不会用这层绕线。

sinat_41774721的博客 2461

57. Insert Interval

题目: 解答: 最开始看以为是会有坑比较复杂,所以用了一个很暴利的区分各种情况分析的做法,将新插入newInterval的start,end的位置各种可能分别标记出来,最后根据各种情况分别计算。见方法一。 做完后,看了LeetCode里面别人的代码,才感觉自己的做法比较傻,两种方法都列不出来了。 代码: /** * Definition for an interval. * struct I...

潭溪的专栏 286

2023华为od机试C卷【推荐多样性】Java&Go 实现

推荐多样性需要从多个列表中选择元素,一次性要返回N屏数据(窗口数量),每屏展示K个元素(窗口大小),选择策略1.各个列表元素需要做穿插处理,即先从第一个列表中为每屏选择一元素,再从第二个列表中为每屏选择一个元素,依次类推2.每个列表的元素尽量均分为N份,如果不够N个,也要全部分配完,

MISAYAONE的博客 2179

【DRAM存储器七】SDRAM介绍-芯片引脚与功能框图详解

详解初代SDRAM芯片引脚定义与芯片功能框图中的各个模块

highman110的博客 2205

Leetcode 57. Insert Interval 插入区间

Leetcode 57. Insert Interval 插入区间 标签: Leetcode 题目地址: https://leetcode-cn.com/problems/insert-interval/ 题目描述 给出一个无重叠的 ,按照区间起始端点排序的区间列表。 在列表中插入一个新的区间,你需要确保列表中的区间仍然有序且不重叠(如果有必要的话,可以合并区间)。 示例 1: 输入:...

CoderWangSon 466

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

[LeetCode] 57. Insert Interval 插入区间

[LeetCode] 57. Insert Interval 插入区间 给出一个无重叠的 ,按照区间起始端点排序的区间列表。 在列表中插入一个新的区间,你需要确保列表中的区间仍然有序且不重叠(如果有必要的话,可以合并区间) Example1: 输入:intervals = [[1,3],[6,9]], newInterval = [2,5] 输出:[[1,5],[6,9]] Example2: 输入:intervals = [[1,2],[3,5],[6,7],[8,10],[12,16]], newIn

qq_38801813的博客 289

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

leetcode题目57.插入区间insert-interval

leetcode题目57.插入区间insert-interval 题目 给出一个无重叠的 ,按照区间起始端点排序的区间列表。 在列表中插入一个新的区间,你需要确保列表中的区间仍然有序且不重叠(如果有必要的话,可以合并区间)。 示例 1: 输入: intervals = [[1,3],[6,9]], newInterval = [2,5] 输出: [[1,5],[6,9]] 示例 2: 输入: in...

qq_41068726的博客 269

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

[leetcode]57. Insert Interval插入区间

Given a set ofnon-overlappingintervals, insert a new interval into the intervals (merge if necessary). You may assume that the intervals were initially sorted according to their start times. Examp...

weixin_30469895的博客 102

【LeetCode】24. 57_Insert Interval · 插入区间

这是我在正式刷题以来做的第一道中等难度的题,解题思路中的方法其实跟官方提供的更像,也是我看到这道题后的第一反应,但是写代码的时候,忽然有了把所有节点放在一起排序的想法,然后不知不觉画风就变了,于是有了现在的解法,其实在时间空间复杂度上都不如官方提供的,但也是另一种方法,算是给大家提点不一样的思路吧,有更好的方法欢迎讨论交流(*≧ω≦)

aqin1012的博客 633

【LeetCode】#57插入区间(Insert Interval)

【LeetCode】#57插入区间(Insert Interval) 题目描述 给出一个无重叠的 ,按照区间起始端点排序的区间列表。 在列表中插入一个新的区间,你需要确保列表中的区间仍然有序且不重叠(如果有必要的话,可以合并区间)。 示例 示例 1: 输入: intervals = [[1,3],[6,9]], newInterval = [2,5] 输出: [[1,5],[6,9]] 示例 2:...

weixin_43858604的博客 150

【LeetCode】 57. Insert Interval 插入区间(Hard)(JAVA)每日一题

【LeetCode】 57. Insert Interval 插入区间(Hard)(JAVA)每日一题 题目地址: https://leetcode-cn.com/problems/insert-interval/ 题目描述: Given a set of non-overlapping intervals, insert a new interval into the intervals (merge if necessary). You may assume that the intervals wer

qq_16927853的博客 265

LeetCode 57. Insert Interval(插入区间)

原题网址:https://leetcode.com/problems/insert-interval/ Given a set of non-overlapping intervals, insert a new interval into the intervals (merge if necessary). You may assume that the intervals w

James Pan 589

Leetcode算法——57、插入区间(insert interval)

给定一系列不重复的区间,要求将一个新的区间插入到这些集合中(如果有必要,则合并)。 假设这些区间已经根据起始位置排好序了。 示例1: 输入: intervals = [[1,3],[6,9]], newInterval = [2,5] 输出: [[1,5],[6,9]] 示例2: 输入: intervals = [[1,2],[3,5],[6,7],[8,10],[12,16]], newInt...

HappyRocking的专栏 945

【LeetCode】 57. Insert Interval 插入区间(Hard)(JAVA)

【LeetCode】 57. Insert Interval 插入区间(Hard)(JAVA) 题目地址: https://leetcode.com/problems/insert-interval/ 题目描述: Given a set of non-overlapping intervals, insert a new interval into the intervals (merge if ...

qq_16927853的博客 260

LeetCode57 Insert Interval 插入区间

问题描述: Given a set of non-overlapping intervals, insert a new interval into the intervals (merge if necessary). You may assume that the intervals were initially sorted according to their start times....

李歇特冯-兹拜因巴哈的博客 214

【LeetCode 面试经典150题】57. Insert Interval 插入区间

You are given an array of non-overlapping intervals where represent the start and the end of the ith interval and is sorted in ascending order by . You are also given an interval that represents the start and end of another interval.Insert into such

qq_43513394的博客 542

Leetcode 57.插入区间(Insert Interval)

Leetcode 57.插入区间 1 题目描述(Leetcode题目链接)   给出一个无重叠的 ,按照区间起始端点排序的区间列表。在列表中插入一个新的区间,你需要确保列表中的区间仍然有序且不重叠(如果有必要的话,可以合并区间)。 输入: intervals = [[1,3],[6,9]], newInterval = [2,5] 输出: [[1,5],[6,9]] 输入: intervals ...

qq_39378221的博客 202

LeetCode 57.Insert Interval (插入区间)

题目描述: 给出一个无重叠的 ,按照区间起始端点排序的区间列表。 在列表中插入一个新的区间,你需要确保列表中的区间仍然有序且不重叠(如果有必要的话,可以合并区间)。   示例 1: 输入: intervals = [[1,3],[6,9]], newInterval = [2,5] 输出: [[1,5],[6,9]] 示例 2: 输入: intervals = [[1,2],[...

amoscykl的博客 365
上一篇: leetcode 56. Merge Intervals
下一篇: leetcode 66. Plus One
蓝羽飞鸟
博客等级 码龄8年 1万+粉丝 727原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

蓝羽飞鸟

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值