0056:合并区间(★)
目录
题目
以数组 intervals
表示若干个区间的集合,其中单个区间为 intervals[i] = [starti, endi]
。请你合并所有重叠的区间,并返回 一个不重叠的区间数组,该数组需恰好覆盖输入中的所有区间 。
示例 1:
输入:intervals = [[1,3],[2,6],[8,10],[15,18]] 输出:[[1,6],[8,10],[15,18]] 解释:区间 [1,3] 和 [2,6] 重叠, 将它们合并为 [1,6].
示例 2:
输入:intervals = [[1,4],[4,5]] 输出:[[1,5]] 解释:区间 [1,4] 和 [4,5] 可被视为重叠区间。
提示:
1 <= intervals.length <= 104
intervals[i].length == 2
0 <= starti <= endi <= 104
相似问题:
- 0057:插入区间
- 0252:会议室
- 0253:会议室 II
- 0495:提莫攻击
- 0616:给字符串添加加粗标签
- 0715:Range 模块
- 0759:员工空闲时间(1710 分)
- 0763:划分字母区间(1443 分)
- 0986:区间列表的交集(1541 分)
- 2158:每天绘制新区域的数量
- 2213:由单个字符重复的最长子字符串(2628 分)
- 2276:统计区间中的整数数目(2222 分)
- 2406:将区间分为最少组数(1713 分)
- 2446:判断两个事件是否存在冲突(1322 分)
- 2580:统计将重叠区间合并成组的方案数(1631 分)
- 2848:与车相交的点(1229 分)
- 3169:无需开会的工作日(1483 分)
分析
排序后边遍历边维护即可。
解答
|
|
56 ms