El intervalo más corto
- O(n log n) · Difícil
- Plan completo
- Python
- JavaScript
- textos
- ordenar
- división
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):
passJavaScript
function menorIntervalo(horas) {
}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)
- El más votado y el menos votadolistas · ordenar · ciclos
- El número más grandelistas · ordenar · dígitos
- El precio que no puedes pagarordenar · ciclos
- El surtido de los proveedoresconjuntos · listas · ordenar
- La altura de la sierralistas · búsqueda · comparaciones
- La banda más pobladaordenar · listas · índices