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].
Subscribe to see which companies asked this question
# Definition for an interval.
# class Interval(object):
# def __init__(self, s=0, e=0):
# self.start = s
# self.end = e
class Solution(object):
def merge(self, intervals):
"""
:type intervals: List[Interval]
:rtype: List[Interval]
"""
s=[]
intervals.sort(key=lambda x:x.start)
length=len(intervals)
if length==0:
return s
s.append(intervals[0])
for i in range(1,length):
s_length=len(s)
if s[s_length-1].end>=intervals[i].start:
if s[s_length-1].end<intervals[i].end:
s[s_length-1].end=intervals[i].end
else:
s.append(intervals[i])
return s