56 - Merge Intervals
    Written on October 21, 2015
    
    
    
    
    
    Tweet
  Given a collection of intervals, merge all overlapping intervals.
class Solution:
    def merge(self, intervals: List[List[int]]) -> List[List[int]]:
        if not intervals:
            return []
        intervals.sort(key=lambda interval: interval[0])
        ret = []
        for interval in intervals:
            if ret and ret[-1][1] >= interval[0]:
                ret[-1][1] = max(ret[-1][1], interval[1])
            else:
                ret.append(interval)
        return ret