解
遍历求解
class Solution:
def merge(self, intervals: List[List[int]]) -> List[List[int]]:
n = len(intervals)
if n <= 1:
return intervals
# 按每个区间的左边界 升序排列
intervals.sort(key = lambda x: x[0])
result = [intervals[0]]
# 遍历每个区间
for interval in intervals[1:]:
# 当前区间的前一个区间
pre = result[-1]
# 两区间合并
if pre[1] >= interval[0]:
pre[1] = max(pre[1], interval[1])
# 两区间无法合并
else:
result.append(interval)
return result