Код Senior Интервалы обновлено

Сколько нужно переговорок

Условие

Минимальное число комнат, чтобы провести все встречи.

Примеры

minMeetingRooms([[0, 30], [5, 10], [15, 20]]) // 2
minMeetingRooms([[7, 10], [2, 4]]) // 1
minMeetingRooms([]) // 0

Как подойти

Метод сканирующей прямой: сортируем начала и концы отдельно, идём по времени и считаем, сколько встреч одновременно. Альтернатива - min-куча концов. Граница: end <= start означает, что комната успевает освободиться.

Подсказки: 2
  1. Начала и концы можно рассматривать по отдельности как события.
  2. Встреча, кончающаяся ровно когда начинается следующая, комнату освобождает.

Решите в тренажёре

Редактор с автотестами прямо в браузере. Можно решить спокойно, вслух или под таймером, как на собесе.