Menu
CoddyTech

Minimum Platforms

Une gare dispose de l’horaire d’une journée : le train i arrive à arrival[i] et part à departure[i]. Les heures sont des nombres au format HHMM, l’heure sans les deux-points, donc 930 correspond à 09:30.

Un train occupe son quai à partir de la minute où il arrive jusqu’à celle où il part, ces deux minutes incluses. Ainsi, un train qui arrive à la minute où un autre part ne peut pas prendre le quai de ce train.

Renvoyez le nombre minimal de quais dont la gare a besoin pour qu’aucun train n’ait à attendre.

Fonction

minimumPlatforms(arrival: integer-array, departure: integer-array) → integer
arrivalinteger-array
l’heure d’arrivée de chaque train, sous la forme d’un nombre HHMM
departureinteger-array
l’heure de départ de chaque train, sous la forme d’un nombre HHMM ; departure[i] correspond à arrival[i]
Renvoieinteger
le plus grand nombre de trains présents à la gare au cours de la même minute, soit le nombre minimal de quais nécessaires

Contraintes

  • 1 ≤ arrival.length == departure.length ≤ 5000
  • 0 ≤ arrival[i] ≤ departure[i] ≤ 2359
  • Chaque heure est une heure HHMM valide : ses deux derniers chiffres sont au plus égaux à 59.
  • Tous les trains circulent le même jour. Les tableaux ne sont pas triés.

Exemples

Entrée
arrival = [900, 1500, 920, 1520, 1000, 1530]departure = [930, 1600, 1010, 1535, 1100, 1545]
Sortie
3
Explication
À 15:30, trois trains sont à la gare : ceux de 15:00 à 16:00, de 15:20 à 15:35 et de 15:30 à 15:45. Il n’y a aucune minute où il y en a quatre, donc 3 quais suffisent.
challenge icon

Pour aller plus loin

Certains trains de nuit arrivent avant minuit et repartent après, si bien que leur heure de départ est inférieure à leur heure d’arrivée. Comment compteriez-vous les quais lorsque l’horaire passe minuit ?

Réinitialiser le code
def minimumPlatforms(arrival, departure):
    # Écrivez le code ici

Test #1

Test #2

Test #3

Arguments

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

Résultat attendu

3