Can you debug this code snippet to identify a potential logical error?
Review the function and correct its behavior for overlapping intervals. The function receives a list of [start, end] pairs and returns a new list containing merged, non-overlapping intervals.
def merge_intervals(intervals):
intervals.sort()
merged = []
for start, end in intervals:
if not merged or start > merged[-1][1]:
merged.append([start, end])
else:
merged[-1][1] = end
return merged
Input is a list of integer pairs. Return intervals sorted by start time. Intervals sharing an endpoint are considered overlapping.
def merge_intervals(intervals):