Python中用于计算区间重叠大小的最简洁方法是什么?
如果间隔相同, overlap([a, b], [c, d])
应返回0,当它们重叠但不相同(其中N为重叠时)时返回N,如果不重叠则返回None。
感谢。
编辑:overlap
具有误导性,我的意思是间隔不重叠的大小。所以0是相同的。
答案 0 :(得分:2)
它没有比sjr链接的问题中的接受答案简洁得多,但是:
def overlap(a,b,c,d):
r = 0 if a==c and b==d else min(b,d)-max(a,c)
if r>=0: return r
对于相同的间隔,也将返回0,对于非重叠的间隔,
也将返回。