Menu
CoddyTech

Minimum Platforms

На станции есть расписание поездов на один день: поезд i прибывает в arrival[i] и отправляется в departure[i]. Время указано числами HHMM — это время на часах без двоеточия, поэтому 930 означает 09:30.

Поезд занимает платформу с минуты прибытия до минуты отправления включительно. Поэтому поезд, прибывающий в ту же минуту, когда отправляется другой поезд, не может занять его платформу.

Верните наименьшее количество платформ, необходимое станции, чтобы ни одному поезду не пришлось ждать.

Функция

minimumPlatforms(arrival: integer-array, departure: integer-array) → integer
arrivalinteger-array
время прибытия каждого поезда в виде числа HHMM
departureinteger-array
время отправления каждого поезда в виде числа HHMM; departure[i] соответствует arrival[i]
Возвращаетinteger
наибольшее количество поездов на станции в одну и ту же минуту, то есть минимальное число необходимых платформ

Ограничения

  • 1 ≤ arrival.length == departure.length ≤ 5000
  • 0 ≤ arrival[i] ≤ departure[i] ≤ 2359
  • Время всегда имеет допустимый формат HHMM: его последние две цифры не превышают 59.
  • Все поезда отправляются в один и тот же день. Массивы не отсортированы.

Примеры

Ввод
arrival = [900, 1500, 920, 1520, 1000, 1530]departure = [930, 1600, 1010, 1535, 1100, 1545]
Вывод
3
Пояснение
В 15:30 на станции стоят три поезда: с 15:00 до 16:00, с 15:20 до 15:35 и с 15:30 до 15:45. Ни в одну минуту их не четыре, поэтому достаточно 3 платформ.
challenge icon

Дополнительный вопрос

Некоторые ночные поезда прибывают до полуночи и отправляются после неё, поэтому номер отправления меньше номера прибытия. Как бы ты посчитал платформы, если расписание поездов переходит через полночь?

Сбросить код
def minimumPlatforms(arrival, departure):
    # Напишите код здесь

Тест #1

Тест #2

Тест #3

Аргументы

arrival = [900, 1500, 920, 1520, 1000, 1530]
departure = [930, 1600, 1010, 1535, 1100, 1545]

Ожидаемый вывод

3