DSA Crash Course
Templates

Template: 19. MERGE INTERVALS

Mark when done:

19. MERGE INTERVALS

# =============================================================================
def merge_intervals(intervals):
    intervals.sort(key=lambda x: x[0])
    merged = [intervals[0]]
    for start, end in intervals[1:]:
        if start <= merged[-1][1]:
            merged[-1][1] = max(merged[-1][1], end)
        else:
            merged.append([start, end])
    return merged


# =============================================================================