Menu
CoddyTech

Daily Temperatures

Otrzymujesz temperaturę każdego dnia w ciągu kolejnych dni: temperatures[i] to temperatura w dniu i. Dla każdego dnia oblicz, ile dni trzeba po nim czekać, aż nadejdzie dzień z wyższą temperaturą. Jeśli później nie nadejdzie dzień z wyższą temperaturą, czas oczekiwania dla tego dnia wynosi 0.

Zwróć tablicę tej samej długości, w której element i oznacza czas oczekiwania dla dnia i.

Funkcja

dailyTemperatures(temperatures: integer-array) → integer-array
temperaturesinteger-array
temperatura każdego dnia, w kolejności
Zwracainteger-array
dla każdego dnia liczba dni do cieplejszego dnia lub 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
Temperatura w dniu 0 wynosi 71, a pierwszy cieplejszy dzień to dzień 2 z temperaturą 72, więc trzeba poczekać 2 dni. W dniach 3 i 4 temperatura wynosi 70: drugi dzień z temperaturą 70 nie jest cieplejszy, więc w dniu 3 trzeba czekać do dnia 5 z temperaturą 75, czyli 2 dni. Po dniach z temperaturą 75 lub 68 nie ma już cieplejszych dni, więc dla obu wynik wynosi 0.

lock icon+13 ukrytych testów przy wysłaniu

challenge icon

Pytanie dodatkowe

Temperatury przyjmują tylko 71 wartości, od 30 do 100. Jak tablica indeksowana temperaturą mogłaby udzielić odpowiedzi dla każdego dnia podczas jednego przebiegu od prawej do lewej i jaki jest koszt tego przebiegu?

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

Przypadek 1

Przypadek 2

Przypadek 3

Wejście

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

Oczekiwane

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