def merge_intervals(intervals):
if not intervals:
return []
sorted_intervals = sorted([list(i) for i in intervals])
merged = [sorted_intervals[0]]
for current in sorted_intervals[1:]:
last = merged[-1]
if last[1] >= current[0]:
last[1] = max(last[1], current[1])
else:
merged.append(current)
return merged