0.题目
1. 区间按左边界排序,顺序比较右边界决定是否合并
class Solution(object):
def merge(self, intervals):
# 1. 区间按左边界升序排列
intervals.sort(key=lambda x:x[0])
res = []
# 2. 是否合并只需要 顺序比较右区间
for x in intervals:
# 2.1 不合并:如果res为空/当前区间x 与 上一区间res[-1]不重合,直接添加
if not res or res[-1][1]<x[0]: #区间右边界 小于x的左边界
res.append(x)
# 2.2 合并:如果x 和 上一区间res[-1]重合,进行合并。
else:
res[-1][1]=max(res[-1][1],x[1])
return res