Menu
CoddyTech

Minimum Platforms

Stacja ma rozkład jazdy na jeden dzień: pociąg i przyjeżdża o arrival[i] i odjeżdża o departure[i]. Godziny są zapisane jako liczby w formacie HHMM, czyli czas bez dwukropka, więc 930 oznacza 09:30.

Pociąg zajmuje peron od minuty przyjazdu do minuty odjazdu włącznie. Dlatego pociąg przyjeżdżający w tej samej minucie, w której odjeżdża inny pociąg, nie może zająć jego peronu.

Zwróć minimalną liczbę peronów, jakich potrzebuje stacja, aby żaden pociąg nie musiał czekać.

Funkcja

minimumPlatforms(arrival: integer-array, departure: integer-array) → integer
arrivalinteger-array
godzina przyjazdu każdego pociągu w formacie liczby HHMM
departureinteger-array
godzina odjazdu każdego pociągu w postaci liczby HHMM; departure[i] odpowiada arrival[i]
Zwracainteger
największa liczba pociągów na stacji w tej samej minucie, czyli minimalna liczba wymaganych peronów

Ograniczenia

  • 1 ≤ arrival.length == departure.length ≤ 5000
  • 0 ≤ arrival[i] ≤ departure[i] ≤ 2359
  • Każda godzina w formacie HHMM jest prawidłowa: jej dwie ostatnie cyfry mają wartość najwyżej 59.
  • Wszystkie pociągi kursują tego samego dnia. Tablice nie są posortowane.

Przykłady

Wejście
arrival = [900, 1500, 920, 1520, 1000, 1530]departure = [930, 1600, 1010, 1535, 1100, 1545]
Wyjście
3
Wyjaśnienie
O 15:30 na stacji stoją trzy pociągi: te kursujące od 15:00 do 16:00, od 15:20 do 15:35 i od 15:30 do 15:45. W żadnej minucie nie ma czterech pociągów, więc wystarczą 3 perony.
challenge icon

Pytanie dodatkowe

Niektóre pociągi nocne przyjeżdżają przed północą i odjeżdżają po niej, więc ich numer odjazdu jest mniejszy niż numer przyjazdu. Jak policzyć perony, gdy rozkład jazdy przechodzi przez północ?

Zresetuj kod
def minimumPlatforms(arrival, departure):
    # Napisz kod tutaj

Test #1

Test #2

Test #3

Argumenty

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

Oczekiwany wynik

3