if ((b1 > a2 && a1 < b2) || (b2>a1 && a2 < b1)) {
return true;
} else {
return false;
}
请问如果我想判断两个整数区间((a,b) a 和 b 属于整数 ) 在 6-24 的范围内我上面的代码能否判断两个整数区间是否重合?
能否举出反例?
两值相等不算重叠嗷
if ((b1 > a2 && a1 < b2) || (b2>a1 && a2 < b1)) {
return true;
} else {
return false;
}
请问如果我想判断两个整数区间((a,b) a 和 b 属于整数 ) 在 6-24 的范围内我上面的代码能否判断两个整数区间是否重合?
能否举出反例?
两值相等不算重叠嗷
找不到,验证没问题。三种情况,在左边,在中间,在右边。
判断两个区间是否重合。
区间1的最小值大于区间2的最大值
或者
区间1的最大值小于区间2的最小值
对不重合进行判断,剩下的就是重合的情况:
注意:
如果a1和b1的大小、a2和b2的大小是不确定的,那么就先对其进行排序,保证b1大于a1,b2大于a2。然后再判断是否重合。
if ((a2 > b1)|| (a1>b2)) {//无重合判断
return false;
} else {
return true;
}