思路一致,但是比较棒的python代码
def merge(intervals):
# 1 排序
intervals.sort(key = lambda x : (x[0],x[1]))
merged = [] #存储所有区间
for interval in intervals:
#若merged不为空且维持的区间的结尾比新来的家伙的头头大
if merged and merged[-1][1] >= interval[0]:
#合并区间,更新结尾
merged[-1][1] = max(interval[1],merged[-1][1])
else:
merged.append(interval)
return len(merged)
n = int(input())
intervals = []
for i in range(n):
a,b = map(int,input().split())
intervals.append([a,b])
print(merge(intervals))