Días hasta más calor
- O(n²) · Muy difícil
- Plan completo
- Python
- JavaScript
- listas
- ciclos
- índices
Enunciado
"¿Cuánto falta para que haga más calor?", le preguntan cada mañana a la estación de Valle Alto, y quiere contestarlo para todo su registro. Recibes la lista de temperaturas, una por día (enteros, pueden ser negativos; puede venir vacía). Regresa una lista del mismo largo: para cada día, cuántos días hay que esperar hasta el primero que sea más caluroso que él, o 0 si después no llega ninguno.
Tiene que ser más caluroso: un día igual no cuenta. Y es el primero que lo supera, no el más caluroso. El último día siempre da 0, y una lista vacía regresa [].
Con [20, 18, 22, 21, 25]: al 20 lo supera el 22, dos días después; al 18, el 22 al día siguiente; al 22 y al 21, el 25. Regresas [2, 1, 2, 1, 0].
Ejemplos
El ejemplo
[20, 18, 22, 21, 25] → [2, 1, 2, 1, 0]
Una semana y un día
[73, 74, 75, 71, 69, 72, 76, 73] → [1, 1, 4, 2, 1, 1, 0, 0]
Cada día más frío
[30, 25, 20] → [0, 0, 0]
Cada día más caluroso
[1, 2, 3, 4] → [1, 1, 1, 0]
El primero que lo supera, no el más caluroso
[10, 12, 20, 11] → [1, 1, 0, 0]
Además de estas, el reto tiene pruebas ocultas que se revelan al enviar tu solución.
Empiezas con esto
Python
def dias_de_espera(temps):
passJavaScript
function diasDeEspera(temps) {
}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.