Вступить в клуб →
лёгкаявопросЖадные алгоритмы и интервалы

Как одним условием проверить, что два интервала пересекаются

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

Какая проверка верна при любом взаимном расположении интервалов?

  • `a1 <= a2 and a2 <= b1`: начало второго интервала попадает внутрь первого
  • `a1 < b2 and a2 < b1`: строгие неравенства отсекают вырожденные случаи
  • Одним условием не обойтись: надо разобрать четыре случая взаимного расположения
  • `a1 <= b2 and a2 <= b1`: каждый начинается не позже, чем кончается другой

🔒 Проверка ответа — для участников клуба

  • Проверка ответа
  • Подсказка, если застряли
  • Разбор с объяснением, почему так
  • Прогресс по всем задачам и виртуальные собеседования
Зарегистрироваться →

Регистрация занимает минуту

Другие задачи раздела