Menu
CoddyTech

Minimum Platforms

Ein Bahnhof hat einen Fahrplan für einen Tag: Zug i kommt um arrival[i] an und fährt um departure[i] ab. Die Zeiten sind Zahlen im Format HHMM, also Uhrzeiten ohne Doppelpunkt. 930 bedeutet daher 09:30 Uhr.

Ein Zug belegt seinen Bahnsteig ab der Minute seiner Ankunft bis einschließlich der Minute seiner Abfahrt. Ein Zug, der in derselben Minute ankommt, in der ein anderer abfährt, kann also nicht dessen Bahnsteig nutzen.

Gib die geringste Anzahl an Bahnsteigen zurück, die der Bahnhof benötigt, damit kein Zug warten muss.

Funktion

minimumPlatforms(arrival: integer-array, departure: integer-array) → integer
arrivalinteger-array
die Ankunftszeit jedes Zuges als HHMM-Zahl
departureinteger-array
die Abfahrtszeit jedes Zuges als HHMM-Zahl; departure[i] gehört zu arrival[i]
Gibt zurückinteger
die größte Anzahl von Zügen, die sich in derselben Minute am Bahnhof befinden, also die Mindestanzahl benötigter Bahnsteige

Einschränkungen

  • 1 ≤ arrival.length == departure.length ≤ 5000
  • 0 ≤ arrival[i] ≤ departure[i] ≤ 2359
  • Jede Uhrzeit ist eine gültige HHMM-Uhrzeit: Ihre letzten beiden Ziffern sind höchstens 59.
  • Alle Züge fahren am selben Tag. Die Arrays sind nicht sortiert.

Beispiele

Eingabe
arrival = [900, 1500, 920, 1520, 1000, 1530]departure = [930, 1600, 1010, 1535, 1100, 1545]
Ausgabe
3
Erklärung
Um 15:30 stehen drei Züge am Bahnhof: die von 15:00 bis 16:00, von 15:20 bis 15:35 und von 15:30 bis 15:45. In keiner Minute sind es vier, daher reichen 3 Bahnsteige aus.
challenge icon

Weiterführende Frage

Einige Nachtzüge kommen vor Mitternacht an und fahren danach ab, sodass ihre Abfahrtsnummer kleiner ist als ihre Ankunftsnummer. Wie würdest du die Bahnsteige zählen, wenn der Fahrplan um Mitternacht herumgeht?

Code zurücksetzen
def minimumPlatforms(arrival, departure):
    # Schreibe hier den Code

Test #1

Test #2

Test #3

Argumente

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

Erwartete Ausgabe

3