js/java判断两个区间是否存在重叠交叉

转自 : https://blog.csdn.net/Mister_SNAIL/article/details/77860240

 

js/java判断两个区间是否存在重叠交叉

  • 存在区间A区间B

  • 重叠的情况有4种,两种相交,两种包含。如图:js/java判断两个区间是否存在重叠交叉_第1张图片

  • 不重叠的情况有2种,A在B前或者B在A前。如图:

  • js/java判断两个区间是否存在重叠交叉_第2张图片

    得:

    总结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 "区间存在重叠交叉!";
}

 

你可能感兴趣的:(Java,算法)