Given a piece of broken code, find and fix the bugs.
Asked in the Technical interview stage. Python SWE, London.
The function should merge overlapping or touching inclusive intervals, return them sorted by start, and leave the input unchanged.
def merge_intervals(intervals):
intervals.sort(key=lambda interval: interval[1])
merged = intervals[0]
for start, end in intervals[1:]:
if start < merged[1]:
merged[1] = max(merged[1], end)
else:
merged.append([start, end])
return merged
Use the signature def merge_intervals(intervals):. Return a new list of [start, end] pairs. An empty input returns [].
def merge_intervals(intervals):