Код Senior Интервалы обновлено
Сколько нужно переговорок
Условие
Минимальное число комнат, чтобы провести все встречи.
Примеры
minMeetingRooms([[0, 30], [5, 10], [15, 20]]) // 2
minMeetingRooms([[7, 10], [2, 4]]) // 1
minMeetingRooms([]) // 0
Как подойти
Метод сканирующей прямой: сортируем начала и концы отдельно, идём по времени и считаем, сколько встреч одновременно. Альтернатива - min-куча концов. Граница: end <= start означает, что комната успевает освободиться.
Подсказки: 2
- Начала и концы можно рассматривать по отдельности как события.
- Встреча, кончающаяся ровно когда начинается следующая, комнату освобождает.
Решите в тренажёре
Редактор с автотестами прямо в браузере. Можно решить спокойно, вслух или под таймером, как на собесе.