AcWing 803. 区间合并
原题链接
简单
作者:
拿奖回本
,
2024-12-05 13:56:57
,
所有人可见
,
阅读 1
区间合并python题解。巨巨巨简单易懂的代码
python 代码
#最简单的python方法
n=int(input())
list=[]
for i in range(n):
l,r=map(int,input().split())
list.append((l,r))
list1=sorted(list)#python的sorted函数默认对第一个数进行排序,符合题意
count=0#记录合并次数
l1=list1[0][0]#第一个区间的左端点
r1=list1[0][1]#右端点
for i in range(1,n):
if r1>=list1[i][0]:#注意等号(这是所有需要合并的情况)
r1=max(r1,list1[i][1])#如果合并的话,就取合并的两个区间r的最大值作为r。
count+=1#记录合并次数
else:#不合并时就将l,r更换到下一个区间
l1=list1[i][0]
r1=list1[i][1]
print(n-count)#总区间个数-合并次数,就是合并后的区间个数