Merge overlapping intervals.
Asked in the coding round stage. Coding half of the DE coding round.
Implement merge_intervals(intervals). Each interval is an inclusive [start, end] pair. Return a new list sorted by start, merging intervals that overlap or are directly adjacent, so [1, 3] and [4, 6] become [1, 6].
intervals is a list of integer pairs. Return a list of merged integer pairs. The input may be unsorted and must not be assumed to contain disjoint intervals.
def merge_intervals(intervals):