检查一组间隔是否重叠

2024-03-29 02:16:39 发布

您现在位置:Python中文网/ 问答频道 /正文

我不知道该找什么。。。检查一组间隔是否重叠的好方法是什么?你知道吗

一切正常:

a, b = 0.2, 0.3
c, d = 0.4, 0.6
e, f = 0.9, 1.0

不好:

a, b = 0.2, 0.3
c, d = 0.25, 0.5

邪恶²:

a, b = 0.2, 0.3
c, d = 0.4, 0.6
e, f = 0.1, 0.8

Tags: 方法间隔
1条回答
网友
1楼 · 发布于 2024-03-29 02:16:39

按起始值对间隔进行排序(如果它们只是两个元组,这是自动的)并遍历列表,确保其中一个的结束值总是小于(或等于,取决于您的问题)下一个的起始值。你知道吗

intervals = [(0.2, 0.3),
             (0.8, 1.0),
             (0.4, 0.6),
             (0.32, 0.38)]

intervals = sorted(intervals)
disjoint = all(intervals[i+1][0] > intervals[i][1] for i in range(len(intervals) - 1))

相关问题 更多 >