转自 : https://blog.csdn.net/Mister_SNAIL/article/details/77860240
js/java判断两个区间是否存在重叠交叉
-
存在
区间A
、区间B
-
重叠的情况有4种,两种相交,两种包含。如图:
-
不重叠的情况有2种,A在B前或者B在A前。如图:
-
得:
总结1 . 满足max(A.start,B.start)<=min(A.end,B.end),即重复
总结2 . 满足A.end< B.start || A.start > B.end,即不重复
总结1的代码示例
js代码
var max=[A.start,B.start];
var min=[A.end,B.end];
if(Math.max.apply(null, max)<= Math.min.apply(null, min)){
alert("区间存在重叠交叉!");
}
java代码
if(max(A.start,B.start)<=min(A.end,B.end)){
return "区间存在重叠交叉!";
}