場景
用戶輸入若干個(gè)區(qū)間范圍[X1,Y1],[X2,Y2],[X3,Y3],[Xn,Yn]...,其中X1-Xn,Y1-Yn均為整數(shù)且前者小于后者(X1<Y1...).
例如:[1,11],[12,15],[19,22] 不存在重合區(qū)間.[1,11],[11,15],[14,22] 則存在重合區(qū)間.
使用PHP實(shí)現(xiàn)代碼如下:
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;
}
以上方法僅適用不連續(xù)區(qū)間重合的判斷,連續(xù)區(qū)間重合判斷