算法思想
首先进行排序,排序的标准是区间的开始,
然后将区间连起来就行,当start小于end的时候,才需要连区间,但是end要取两个区间的最大值。
class Solution:
def merge(self, intervals: List[Interval]) -> List[Interval]:
if intervals == []:
return []
intervals = sorted(intervals, key=lambda x : x.start)
results = [intervals[0]]
for i in range(1, len(intervals)):
if intervals[i].start <= results[-1].end:
results[-1].end = max(intervals[i].end, results[-1].end)
else:
results.append(intervals[i])
return results