class Solution:
def merge(self, intervals: List[List[int]]) -> List[List[int]]:
intervals.sort(key=lambda x:x[0])
res = []
for i in range(1,len(intervals)):
#如果发现重叠,改变当前i的[0]和[1]
if intervals[i][0] <= intervals[i-1][1]:
intervals[i][0] = intervals[i-1][0]
intervals[i][1] = max(intervals[i][1],intervals[i-1][1])
#如果没有和上一个重叠,则将上一个区间加入结果
else:
res.append(intervals[i-1])
res.append(intervals[-1])
return res