57. 插入区间
题目描述
给出一个无重叠的 ,按照区间起始端点排序的区间列表。
在列表中插入一个新的区间,你需要确保列表中的区间仍然有序且不重叠(如果有必要的话,可以合并区间)。
示例 1:
1 |
|
示例 2:
1 |
|
注意:输入类型已在 2019 年 4 月 15 日更改。请重置为默认代码定义以获取新的方法签名。
思路
模拟
判断
newInterval
是否和interval
有重叠有,进行合并,之后更新的
newInterval
(不需要插入interval
)没有,判断
newInterval
是否可以插入可以,插入
newInterval
,之后插入interval
不可以,插入
interval
合并条件:区间之间存在交叉,
interval[1] >= newInterval[0] \&\& interval[0] <= newInterval[1]
插入条件:新区间的尾端小于
interval
的起点,但是可能会插入很多次,因此需要打标记。newInterval[1] < interval[0]&&!flag
。C++代码
1 |
|
本博客所有文章除特别声明外,均采用 CC BY-SA 4.0 协议 ,转载请注明出处!