Menu
CoddyTech

Daily Temperatures

temperatures[i] to temperatura w dniu i. Dla każdego dnia policz, ile dni trzeba czekać po nim, aż nadejdzie dzień z ściśle wyższą temperaturą, lub 0, jeśli później nie nadejdzie dzień z wyższą temperaturą. Zwróć tablicę o tej samej długości, w której wpis i oznacza czas oczekiwania dla dnia i.

Funkcja

dailyTemperatures(temperatures: integer-array) → integer-array
temperaturesinteger-array
temperatura każdego dnia, po kolei
Zwracainteger-array
dla każdego dnia liczba dni do cieplejszego dnia albo 0, jeśli taki dzień nie nadejdzie

Ograniczenia

  • 1 ≤ temperatures.length ≤ 104
  • 30 ≤ temperatures[i] ≤ 100
  • „Cieplej” oznacza ściśle wyższą temperaturę: późniejszy dzień z taką samą temperaturą się nie liczy.

Przykłady

Wejście
temperatures = [71, 69, 72, 70, 70, 75, 68]
Wyjście
[2, 1, 3, 2, 1, 0, 0]
Wyjaśnienie
Dzień 0 (71) czeka 2 dni na 72. Dzień 3 (70) pomija równe 70 w dniu 4 i czeka 2 dni na 75. Żadna temperatura po 75 ani 68 nie jest wyższa, więc obie otrzymują 0.
challenge icon

Pytanie dodatkowe

Temperatury przyjmują tylko 71 wartości, od 30 do 100. Jak tablica indeksowana temperaturą mogłaby odpowiedzieć na każdy dzień w jednym przebiegu od prawej do lewej i jakim kosztem?

Zresetuj kod
def dailyTemperatures(temperatures):
    # Wpisz kod tutaj

Test #1

Test #2

Test #3

Argument

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

Oczekiwany wynik

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