Las antorchas de la muralla
- O(n log n) · Difícil
- Plan completo
- Python
- JavaScript
- listas
- ordenar
- decimales
Enunciado
Ninguna muralla de la frontera del imperio se deja a oscuras. Ésta mide largo pasos y tiene antorchas clavadas en distintos puntos. El centurión las quiere todas con la misma llama: la más chica que no deje ningún tramo sin luz.
Cada antorcha alumbra alcance pasos hacia cada lado. Recibes antorchas, una lista de enteros entre 0 y largo (al menos una, en cualquier orden, y dos pueden estar en el mismo punto), y largo, un entero mayor que 0. Regresa el alcance mínimo para que toda la muralla, del paso 0 al largo, quede alumbrada. Puede traer .5: entre dos antorchas a 5 pasos basta 2.5, porque cada una cubre la mitad. En las puntas nadie ayuda: si la primera está en el paso 4, necesita 4 para llegar al 0, y lo mismo la última hasta largo. Con [12, 4, 9] y largo 20 regresas 8, lo que hay de la última al final.
Ejemplos
La punta del final manda
[12, 4, 9], 20 → 8
Dos antorchas a 5 pasos
[2, 7], 9 → 2.5
El hueco de en medio manda
[0, 10, 4, 16], 16 → 3
Revueltas
[9, 1, 5], 10 → 2
Pasos de una y dos cifras
[40, 5, 12, 30], 45 → 9
Además de estas, el reto tiene pruebas ocultas que se revelan al enviar tu solución.
Empiezas con esto
Python
def alcance(antorchas, largo):
passJavaScript
function alcance(antorchas, largo) {
}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)
- Las colmenas separadaslistas · ordenar · búsqueda
- Las horas de los testigoslistas · ordenar · comparaciones
- Las horas vigiladastextos · listas · ordenar
- Las macetas del jardíndiccionarios · ordenar · índices
- Las sombrillas de la playalistas · ordenar · comparaciones
- Las sondas antes del plazolistas · ordenar · booleanos