Saltar al contenido

El intervalo más corto

Enunciado

Marta es la jefa de la estación del norte, donde pasan trenes de día y de noche. Para meter a la cuadrilla de mantenimiento necesita saber cuál es el menor tiempo entre dos trenes, y esa cuenta no se detiene a medianoche. Recibes horas, una lista de textos "HH:MM" de 24 horas, de "00:00" a "23:59", con al menos dos y en cualquier orden. Regresa un entero: los minutos entre los dos trenes más cercanos. Entre dos horas cuenta el camino más corto, pase o no por medianoche: "23:55" y "00:10" están a 15 minutos, no a 1425. Con "21:10", "06:45", "20:50" y "12:00" regresas 20, por los de las 20:50 y las 21:10. Si dos trenes pasan a la misma hora, regresas 0.

Ejemplos

  • Un día cualquiera

    ["21:10", "06:45", "20:50", "12:00"] → 20

  • Antes y después de medianoche

    ["23:55", "00:10"] → 15

  • La vuelta gana a los vecinos

    ["00:05", "12:00", "23:50", "18:30"] → 15

  • Cambia la hora

    ["12:55", "13:05", "18:00"] → 10

  • Doce horas exactas

    ["06:00", "18:00"] → 720

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

Empiezas con esto

Python

def menor_intervalo(horas):
    pass

JavaScript

function menorIntervalo(horas) {
}
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 →