intermediate

Паттерны задач на intervals

Sort, merge, sweep и рассуждайте об inclusive/exclusive endpoints до кода.

Interval tasks требуют рассуждать о ranges на линии: merge overlaps, insert range, count rooms, find free time или process start/end events. Sorting by start time часто открывает one-pass solution; heaps или sweep lines обрабатывают active intervals.

Компромисс: сравните время, память и сложность реализации до выбора структуры или паттерна.

На интервью: Ключ - определить endpoint semantics. Inclusive и exclusive ends меняют overlap checks, особенно для calendars и meeting rooms.

Типовые ошибки: Не merge adjacent intervals, если requirements не говорят, что они overlap. Неправильный tie-breaking start/end events меняет active counts.

Чеклист:

  • Определите endpoint semantics.
  • Сортируйте по start или event time.
  • Поддерживайте active intervals.
  • Проверьте touching boundaries.