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.