如何确定两个区间是否有交集?

来源:互联网 发布:广州新梦想网络骗局 编辑:程序博客网 时间:2024/05/07 10:50

问题:

假设有两个区间M(s1, e1)和N(s2, e2),如何判断两个区间是否有交集?


解答:

命题A: M和N相离,且M在前N在后。(当 s2 > e1时成立)

命题B: M和N相离,且M在后N在前。  ( 当 s1 > e2时成立)

如果命题(A or B)为真,则两个区间每有交集。

则如果命题(A or B)都为假,则两个区间有交集。


根据德摩根定律可知:

!(A or B) = !A and !B

也就是说 (s2 <= e1) and (s1 <= e2)




原文:http://stackoverflow.com/questions/325933/determine-whether-two-date-ranges-overlap


0 0