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

min_rooms: сколько переговорок нужно, чтобы развести все встречи

Напишите функцию min_rooms(intervals: list[list[int]]) -> int.

Вход. Список встреч, каждая — список из двух целых [start, end], start <= end. Порядок произвольный.

Выход. Минимальное число переговорок, чтобы ни одна встреча не пересеклась с другой в той же комнате (целое число).

Правила. Интервалы полуоткрытые: встреча заканчивается ровно в момент end, поэтому [9, 10] и [10, 11] помещаются в одну комнату.

Поведение на краевых входах.

  • Пустой список — вернуть 0.
  • Одна встреча — вернуть 1.
  • Несколько полностью совпадающих встреч — вернуть их количество: для трёх встреч [1, 5] ответ 3.

Ответ — это максимальное число встреч, идущих одновременно.

заготовка решения

def min_rooms(intervals: list[list[int]]) -> int:
    # ваш код
    pass

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

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

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

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