CODE-0005 · gpt-5.4-mini (high)from typing import List
def merge_intervals(intervals):
"""
Merge overlapping or touching intervals.
Args:
intervals: An iterable of [start, end] pairs where start <= end.
Returns:
A new list of merged [start, end] pairs sorted by start.
"""
if not intervals:
return []
sorted_intervals = sorted(intervals, key=lambda iv: (iv[0], iv[1]))
merged = []
for start, end in sorted_intervals:
if not merged or start > merged[-1][1]:
merged.append([start, end])
else:
if end > merged[-1][1]:
merged[-1][1] = end
return merged