描述
Given a collection of intervals, merge all overlapping intervals.
For example,
Given [1,3],[2,6],[8,10],[15,18],
return [1,6],[8,10],[15,18].
分析
也就是一层循环,比较查看是否有交集,有交集就合并。
解决方案1(Python)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
|
class Solution(object): def merge(self, intervals): """ :type intervals: List[Interval] :rtype: List[Interval] """ if not intervals: return [] intervals.sort(key=lambda x: x.start) result = [intervals[0]] for item in intervals[1:]: pre = result[-1] if pre.end >= item.start: pre.end = max(pre.end, item.end) else: result.append(item) return result
|
相关问题