Menu
CoddyTech

Minimum Platforms

Una estación tiene el horario de un día: el tren i llega a arrival[i] y sale a departure[i]. Las horas son números HHMM, la hora sin los dos puntos, así que 930 son las 09:30.

Un tren ocupa su andén desde el minuto en que llega hasta el minuto en que sale, ambos inclusive. Por lo tanto, un tren que llega en el mismo minuto en que sale otro no puede ocupar el andén de ese tren.

Devuelve el número mínimo de andenes que necesita la estación para que ningún tren tenga que esperar.

Función

minimumPlatforms(arrival: integer-array, departure: integer-array) → integer
arrivalinteger-array
la hora de llegada de cada tren, como un número HHMM
departureinteger-array
la hora de salida de cada tren, como un número HHMM; departure[i] corresponde a arrival[i]
Devuelveinteger
el mayor número de trenes en la estación en el mismo minuto, que es el menor número de andenes necesarios

Restricciones

  • 1 ≤ arrival.length == departure.length ≤ 5000
  • 0 ≤ arrival[i] ≤ departure[i] ≤ 2359
  • Cada hora es una hora válida HHMM: sus dos últimos dígitos son como máximo 59.
  • Todos los trenes circulan el mismo día. Los arreglos no están ordenados.

Ejemplos

Entrada
arrival = [900, 1500, 920, 1520, 1000, 1530]departure = [930, 1600, 1010, 1535, 1100, 1545]
Salida
3
Explicación
A las 15:30 hay tres trenes en la estación: los que van de 15:00 a 16:00, de 15:20 a 15:35 y de 15:30 a 15:45. En ningún minuto hay cuatro, así que bastan 3 andenes.
challenge icon

Para ir más allá

Algunos trenes nocturnos llegan antes de la medianoche y salen después, así que su número de salida es menor que el de llegada. ¿Cómo contarías los andenes cuando el horario cruza la medianoche?

Restablecer código
def minimumPlatforms(arrival, departure):
    # Escribe el código aquí

Prueba #1

Prueba #2

Prueba #3

Argumentos

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

Salida Esperada

3