Menu
CoddyTech

Minimum Platforms

Una stazione ha l'orario di un giorno: il treno i arriva a arrival[i] e parte a departure[i]. Gli orari sono numeri HHMM, ovvero l'ora senza i due punti, quindi 930 corrisponde alle 09:30.

Un treno occupa il binario dal minuto in cui arriva fino al minuto in cui parte, inclusi entrambi. Quindi un treno che arriva nel minuto in cui un altro parte non può occupare il binario di quel treno.

Restituisci il numero minimo di binari necessari alla stazione affinché nessun treno debba aspettare.

Funzione

minimumPlatforms(arrival: integer-array, departure: integer-array) → integer
arrivalinteger-array
l'orario di arrivo di ciascun treno, come numero HHMM
departureinteger-array
l'orario di partenza di ciascun treno, come numero HHMM; departure[i] corrisponde a arrival[i]
Restituisceinteger
il numero massimo di treni alla stazione nello stesso minuto, ovvero il numero minimo di binari necessari

Vincoli

  • 1 ≤ arrival.length == departure.length ≤ 5000
  • 0 ≤ arrival[i] ≤ departure[i] ≤ 2359
  • Ogni valore è un orario valido in formato HHMM: le sue ultime due cifre sono al massimo 59.
  • Tutti i treni circolano lo stesso giorno. Gli array non sono ordinati.

Esempi

Input
arrival = [900, 1500, 920, 1520, 1000, 1530]departure = [930, 1600, 1010, 1535, 1100, 1545]
Output
3
Spiegazione
Alle 15:30 ci sono tre treni alla stazione: quelli dalle 15:00 alle 16:00, dalle 15:20 alle 15:35 e dalle 15:30 alle 15:45. In nessun minuto ce ne sono quattro, quindi bastano 3 binari.
challenge icon

Per approfondire

Alcuni treni notturni arrivano prima di mezzanotte e partono dopo, quindi il numero della partenza è inferiore a quello dell’arrivo. Come conteresti i binari quando l’orario attraversa la mezzanotte?

Ripristina il codice
def minimumPlatforms(arrival, departure):
    # Scrivi il codice qui

Test #1

Test #2

Test #3

Argomenti

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

Output atteso

3