56. Merge Intervals
Given an array of
intervals
where intervals[i] = [starti, endi]
, merge all overlapping intervals, and return an array of the non-overlapping intervals that cover all the intervals in the input.Notes:
- No need to have a separate variable to hold the current interval
- Touching intervals are merged
def merge(intervals):
if not intervals:
return []
intervals.sort(key = lambda x: x[0])
merged = []
for interval in intervals:
if not merged or interval[0] > merged[-1][1]:
merged.append(interval)
else:
merged[-1][1] = max(merged[-1][1], interval[1])
return merged
Comments
Post a Comment