Saltar al contenido

Días hasta más calor

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):
    pass

JavaScript

function diasDeEspera(temps) {
}
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²)

Ver todos los retos →