AlgoMaster Logo

Merge Intervals

intervals=[[1,3],[2,6],[8,10],[15,18]]
1def merge(intervals):
2    intervals.sort(key=lambda x: x[0])
3
4    result = [intervals[0]]
5
6    for i in range(1, len(intervals)):
7        current = intervals[i]
8        last_merged = result[-1]
9
10        if current[0] <= last_merged[1]:
11            last_merged[1] = max(last_merged[1], current[1])
12        else:
13            result.append(current)
14
15    return result
0 / 9
intervals[1,3][2,6][8,10][15,18]result