题目描述:
给出一个区间的集合,清合并所有重叠的区间。
示例1:
输入:[[1,3],[2,6],[8,10],[15,18]]
输出:[[1,6],[8,10],[15,18]]
解释:区间[1,3]和[2,6]重叠,将它们合并为[1,6]
示例2:
输入:[[1,4],[4,5]]
输出:[[1,5]]
解释:区间[1,4]和[4,5]可被视为重叠区间
class Solution(object):
def merge(self, intervals):
"""
:type intervals: List[List[int]]
:rtype: List[List[int]]
"""
if len(intervals) == 0:
return []
res = []
intervals = list(sorted(intervals))
low = intervals[0][0]
high = intervals[0][1]
for i in range(1,len(intervals)):
#若当前区间和目前保存区间有交集,则进行判断后修改相应的区间参数;若当前区间和目前保存区间没有交集,则将目前保存区间放入到结果集合中,并将当前区间记录成目前保存区间
if high >= intervals[i][0]:
if high < intervals[i][1]:
high = intervals[i][1]
else:
res.append([low,high])
low = intervals[i][0]
high = intervals[i][1]
res.append([low,high])
return res
菜鸟一枚,代码仅供参考,如有问题,望指正~