场景
用户输入若干个区间范围[X1,Y1],[X2,Y2],[X3,Y3],[Xn,Yn]...,其中X1-Xn,Y1-Yn均为整数且前者小于后者(X1<Y1...).
例如:[1,11],[12,15],[19,22] 不存在重合区间.[1,11],[11,15],[14,22] 则存在重合区间.
使用PHP实现代码如下:
function checkRange($list)
{
$range = [];
$count = 0;
foreach ($list as $item) {
$list = range($item[0], $item[1]);
$range = array_merge($range, $list);
$count += count($list);
}
return count(array_unique($range)) == $count;
}
以上方法仅适用不连续区间重合的判断,连续区间重合判断