Enable Javascript in your browser and then refresh this page, for a much enhanced experience.
Recursion solution in Clear category for Merge Intervals by Wartem
def fix_intervals(intervals):
for i in range(len(intervals) -1):
ext = (e := intervals[i]) | {min(e)-1} | {max(e)+1}
if(ext & intervals[i+1]):
intervals[i] |= intervals[i+1]
intervals.pop(i+1)
fix_intervals(intervals)
return intervals
def merge_intervals(intervals):
if not intervals:
return []
if len(intervals) == 1:
return intervals
intervals = [set(range(start, end + 1)) for start, end in intervals]
res = fix_intervals(intervals)
return [(min(r), max(r)) for r in res]
Sept. 11, 2022
Comments: