1.题目
2.题目意思
合并区间,存在相交就合并,否则不合并。注意,三个区间相交也要合并。
3.代码
class Solution:
def merge(self, intervals: List[List[int]]) -> List[List[int]]:
if intervals == []:
return []
intervals.sort() # 排序
res = [intervals[0]] # 输出结果
for l, r in intervals[1:]: # 不断进行比较
if l > res[-1][1]: # 比较新区间左端和老区间右端
res.append([l,r]) # 新区间左端更大则加入新区间
else: # 新区间更小
res[-1][1] = max(r, res[-1][1]) # 取最大的右端作为区间右端
return res
思路:排序+双指针
这题其实蛮简单的,排序然后比较。注释写的很详细啦~
冲冲冲