为了账号安全,请及时绑定邮箱和手机立即绑定

python 求n个区间范围,并集的算法

python 求n个区间范围,并集的算法

30秒到达战场 2019-05-22 20:22:30
有n个有序的集合,集合的每个元素都是一段范围,求n个集合的交集,例如n=3,集合{[2,4],[9,13]}和{[6,12]}的并集为{[2,4],[6,13]},请问用python怎么实现
查看完整描述

2 回答

?
慕哥6287543

TA贡献1831条经验 获得超10个赞

第一步排序,第二步遍历。
#-*-coding:utf-8-*-
data=[
[1,2],
[2,3],
[1,6],
[1,3],
[3,7],
[3,6],
[3,8],
[3,7],
[10,12],
[110,290],
[50,60],
[49,55],
]
defsort(a,b):
ifa[0]>b[0]:return1
ifa[0]ifa[1]>b[1]:return1
ifa[1]return1
data.sort(sort)
result=[]
fora,bindata:
ifnotresult:
result.append([a,b])
continue
la,lb=result[-1]
ifla<=a<=lbandb>lb:
result[-1][1]=b
ifa>lb:
result.append([a,b])
printresult
                            
查看完整回答
反对 回复 2019-05-22
  • 2 回答
  • 0 关注
  • 2197 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信