自己的思路
-时间交叉判断
双层循环,
外层循环中的假设是8:00 --- 9:00 outerStartTime ------outerEndTime
内层循环的话假设是 innerStartTime -- innerEndTime
则以下区间存在相交,
7:00-8:30
innerEndTime >= outerStartTime && innerStartTime <= outerEndTime
8:30-9:30
8:45-8:50
innerStartTime >= innerStartTime && innerStartTime<=outerEndTime
6:00-10:00
innerStartTime < outerStartTime && innerEndTime >outerEndTime
所以代码应该是
if( innerEndTime >= outerStartTime && innerStartTime <= outerEndTime &&
innerStartTime >= innerStartTime && innerStartTime<=outerEndTime &&
innerStartTime < outerStartTime && innerEndTime >outerEndTime
){ ... 说明有交集 }
网站搜索的思路
-两个区间,一个[A,B],一个 [X,Y]
得到有交集的情况:X < B && A < Y。
if(X < B && A < Y) { ...说明有交集 }
参考链接 点击