Pattern
Pattern
Pattern
Sort ranges and reason about overlap, gaps, and merged boundaries.
Sort by start, then compare the next start with the current end.
intervals.sort(key=lambda item: item[0])
merged = []
for start, end in intervals:
if not merged or start > merged[-1][1]:
merged.append([start, end])
else:
merged[-1][1] = max(merged[-1][1], end)