(10,20)(20,30)(30,40)(40,50)
如何判断(X,Y)和上面4个区间是否有交叉
各位朋友有什么好方法没?

解决方案 »

  1.   

    (10,20)(20,30)如果只是判断有交叉的到也简单(10,20)-的大小 20-10=10
    (20,30)大小30-20=10(10,20)(20,30)大小30-10=20现在10+10=20,ok,他们没有交叉验证:
    (10,20)(19,30)
        |         |
        10       11(10+11)>(30-10) 
    ok他们有交叉 
      

  2.   

    其实,我的想法很简单,既然是区间了,他就有个界限,你可以用他的界限来看看他是处在哪个区间,或者说是那几个区间之间。
      判断(x,y)有没有跟其他的区间交叉,
    如果x<10,说明他肯定没有跟(10,20)交叉,也不会跟区间左界限>10的区间交叉,
    如果x>10说明他有可能跟(10,20)交叉,当然还要看y的大小了,
      总之,就是比较x,y 跟几个区间界限的大小,这样就能判定他跟几个区间的交叉。
    在这里,还是要好好的考虑一下怎样比较下来,比较的节省时间。