合并区间
以数组 intervals 表示若干个区间的集合,其中单个区间为 intervals[i] = [starti, endi] 。请你合并所有重叠的区间,并返回一个不重叠的区间数组,该数组需恰好覆盖输入中的所有区间
注意:像[1,4][5,6]是不能合并的,必须是[4,6]才能合并
class Solution(object):
def merge(self, intervals):
"""
:type intervals: List[List[int]]
:rtype: List[List[int]]
"""
intervals.sort(key = lambda x: x[0])
res = []
i = 0
while i < len(intervals):
tem = intervals[i]
while i < len(intervals) - 1 and intervals[i+1][0] <= tem[-1]:
tem[-1] = max(intervals[i+1][-1], tem[-1])
i += 1
i += 1
res.append(tem)
return res