Debug a provided code snippet containing roughly 5 bugs/problems and explain the fixes.
Asked in the technical screen stage. The function should merge overlapping or touching intervals and return them sorted by start value.
def merge_intervals(intervals):
if intervals is None:
return []
intervals.sort(key=lambda x: x[1])
merged = intervals[0]
for current in intervals[1:]:
if current[0] < merged[1]:
merged[1] = current[1]
else:
merged += current
return merged
Input: a list of [start, end] integer pairs. Output: a new list of merged pairs.
def merge_intervals(intervals):