Saltar al contenido

Los andenes de la estación

Enunciado

En la estación de Valle Alto ningún tren espera: al llegar, ya tiene un andén libre. Con el horario del día, el jefe abre los andenes justos. Escribe una función que reciba llegadas y salidas, dos listas de enteros del mismo largo (minutos del día, de 0 a 1439; pueden venir vacías). El tren i llega en llegadas[i] y sale en salidas[i], y siempre sale al menos un minuto después de llegar. Regresa un entero: el mayor número de trenes que hay en la estación al mismo tiempo.

Un tren ocupa su andén desde que llega hasta que sale, y el minuto en que sale el andén ya queda libre: si otro llega ese mismo minuto, lo usa.

Con llegadas [10, 15, 40, 45] y salidas [30, 50, 60, 55], en el minuto 45 están los tres últimos (el primero salió en el 30): la respuesta es 3. Sin trenes, la respuesta es 0.

Ejemplos

  • El del ejemplo

    [10, 15, 40, 45], [30, 50, 60, 55] → 3

  • Nunca se cruzan

    [0, 20, 40], [10, 30, 50] → 1

  • Uno sale el minuto en que otro llega

    [60, 120], [120, 180] → 1

  • El horario viene desordenado

    [300, 100, 200], [400, 350, 250] → 2

  • Ningún tren

    [], [] → 0

Además de estas, el reto tiene pruebas ocultas que se revelan al enviar tu solución.

Empiezas con esto

Python

def andenes(llegadas, salidas):
    pass

JavaScript

function andenes(llegadas, salidas) {
}
Resolver este reto

Se abre en el navegador, con el editor y las pruebas. Este reto es del plan completo; los de O(1) y O(log n) son gratis.

Más retos de O(n log n)

Ver todos los retos →