zoukankan      html  css  js  c++  java
  • 判断区间重叠是否的方法,简单有效

    前言 :两个数值的区间,可以放在数轴上看,其实就是4个点,只要找出最小点就很好判断了,
    找出有最小点的区间,然后让该区间的最大值和另一个区间的最小点比较,如果大于该比较区间的最小点,那么说明有两种情况,

    • 一是前者的最大值掉落在后者区间内
    • 二是前者前者包含后者,这都属于有重叠的数值,返回true。

    代码如下:

    function isOverlap(a,b){
        //判断最小值
        if(a.minValue<b.minValue){
            //a的开始范围是最小
            if (a.maxValue>=b.minValue){
                return true;
            }else{
                return false
            }
        }else if(a.minValue==b.minValue){
            return true;
        }else {
            //b的开始范围是最小
            if (b.maxValue>=a.minValue){
                return true;
            }else{
                return false;
            }
        }
    }
    

    这是正向区间的情况,如[0,20],最大值肯定大于最小值,但是如果是反向区间,如[0,-20],就需要另外判断了。

  • 相关阅读:
    最近的一些心理活动
    object_c函数多个返回值
    nslayoutConstraint
    判断一些常用的东西
    color 的一些处理
    最近的心理活动
    加载不同的nib文件
    Be a person
    按钮居左显示
    SQLite错误码
  • 原文地址:https://www.cnblogs.com/melonPada/p/15248596.html
Copyright © 2011-2022 走看看