首页 > 试题广场 >

插入区间

[编程题]插入区间
  • 热度指数:12185 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 32M,其他语言64M
  • 算法知识视频讲解
给定一组不重叠的时间区间,在时间区间中插入一个新的时间区间(如果有重叠的话就合并区间)。
这些时间区间初始是根据它们的开始时间排序的。
示例1:
给定时间区间[1,3],[6,9],在这两个时间区间中插入时间区间[2,5],并将它与原有的时间区间合并,变成[1,5],[6,9].
示例2:
给定时间区间[1,2],[3,5],[6,7],[8,10],[12,16],在这些时间区间中插入时间区间[4,9],并将它与原有的时间区间合并,变成[1,2],[3,10],[12,16].
这是因为时间区间[4,9]覆盖了时间区间[3,5],[6,7],[8,10].
示例1

输入

[],[5,7]

输出

[[5,7]]
头像 一叶浮尘
发表于 2020-04-11 14:50:27
给定一组不重叠的时间区间,在时间区间中插入一个新的时间区间(如果有重叠的话就合并区间)。这些时间区间初始是根据它们的开始时间排序的。示例1:给定时间区间[1,3],[6,9],在这两个时间区间中插入时间区间[2,5],并将它与原有的时间区间合并,变成[1,5],[6,9].示例2:给定时间区间[1, 展开全文
头像 下一次什么时候可以修改昵称
发表于 2020-11-04 15:54:05
算法 1.把前面不能和新插入区间合并的区间添加到结果:区间的右侧小于新插入区间的左侧 2.把中间可以和新插入区间合并的区间与新插入区间合并 区间的右侧大于等于新插入区间的左侧 区间的左侧小于等于新插入区间的右侧 3.把后面不能和新插入区间合并的区间添加到结果 public ArrayLis 展开全文
头像 华科不平凡
发表于 2020-09-29 15:16:27
循环遍历原有区间,将待插入区间的右端点、左端点分别与当前区间比较,并更新待插入区间的左右端点,代码如下: // // Created by jt on 2020/9/29. // #include <vector> using namespace std; class Solution 展开全文