Как одним условием проверить, что два интервала пересекаются
Даны два закрытых интервала [a1, b1] и [a2, b2], для каждого выполняется начало <= конец. Какой из них левее — заранее неизвестно. Касание в одной точке считается пересечением: [1, 5] и [5, 9] пересекаются.
Какая проверка верна при любом взаимном расположении интервалов?
- `a1 <= a2 and a2 <= b1`: начало второго интервала попадает внутрь первого
- `a1 < b2 and a2 < b1`: строгие неравенства отсекают вырожденные случаи
- Одним условием не обойтись: надо разобрать четыре случая взаимного расположения
- `a1 <= b2 and a2 <= b1`: каждый начинается не позже, чем кончается другой
