Menu
CoddyTech

Daily Temperatures

Obtienes la temperatura de cada día en una serie de días: temperatures[i] es la temperatura del día i. Para cada día, cuenta cuántos días tienes que esperar después de ese día hasta que llegue un día estrictamente más cálido. Si no llega ningún día más cálido después, la espera para ese día es 0.

Devuelve un array de la misma longitud en el que la entrada i es la espera para el día i.

Función

dailyTemperatures(temperatures: integer-array) → integer-array
temperaturesinteger-array
la temperatura de cada día, en orden
Devuelveinteger-array
para cada día, el número de días que faltan hasta uno más cálido, o 0 si no llega ninguno

Restricciones

  • 1 ≤ temperatures.length ≤ 104
  • 30 ≤ temperatures[i] ≤ 100
  • Más cálido significa estrictamente más alto: un día posterior con la misma temperatura no cuenta.

Ejemplos

Entrada
temperatures = [71, 69, 72, 70, 70, 75, 68]
Salida
[2, 1, 3, 2, 1, 0, 0]
Explicación
El día 0 es 71 y el primer día más cálido es el día 2 con 72, así que espera 2 días. Los días 3 y 4 son ambos 70: el segundo 70 no es más cálido, así que el día 3 espera hasta el día 5 con 75, lo que son 2 días. Después de 75 o 68 no hay ningún día más cálido, así que ambos obtienen 0.

lock icon+13 pruebas ocultas al enviar

challenge icon

Para ir más allá

Las temperaturas solo toman 71 valores, del 30 al 100. ¿Cómo podría una tabla indexada por temperatura responder cada día en una sola pasada de derecha a izquierda, y cuánto cuesta esa pasada?

Restablecer código
def dailyTemperatures(temperatures):
    # Escribe el código aquí
Casos de prueba

Caso 1

Caso 2

Caso 3

Entrada

temperatures = [71, 69, 72, 70, 70, 75, 68]

Esperado

[2, 1, 3, 2, 1, 0, 0]