Menu
CoddyTech

Daily Temperatures

Ardışık günlerden oluşan bir sıradaki her günün sıcaklığı veriliyor: temperatures[i], i. gündeki sıcaklıktır. Her gün için, daha sıcak bir gün gelene kadar kaç gün beklemeniz gerektiğini sayın. Daha sonra daha sıcak bir gün gelmezse, o gün için bekleme süresi 0 olur.

Aynı uzunlukta bir dizi döndürün; burada i. eleman, i. gün için bekleme süresidir.

Fonksiyon

dailyTemperatures(temperatures: integer-array) → integer-array
temperaturesinteger-array
her günün sıcaklığı, sırayla
Döndürürinteger-array
her gün için, daha sıcak bir güne kadar kalan gün sayısı; böyle bir gün yoksa 0

Kısıtlar

  • 1 ≤ temperatures.length ≤ 104
  • 30 ≤ temperatures[i] ≤ 100
  • Daha sıcak, kesinlikle daha yüksek demektir: sıcaklığın aynı olduğu daha sonraki bir gün sayılmaz.

Örnekler

Girdi
temperatures = [71, 69, 72, 70, 70, 75, 68]
Çıktı
[2, 1, 3, 2, 1, 0, 0]
Açıklama
0. gün 71'dir ve sıcaklığın daha yüksek olduğu ilk gün, 72 ile 2. gündür; bu nedenle 2 gün bekler. 3. ve 4. günlerin ikisi de 70'tir: ikinci 70 daha sıcak olmadığı için 3. gün, 75 ile 5. güne kadar bekler; bu da 2 gündür. 75 veya 68'den sonraki hiçbir gün daha sıcak değildir, bu nedenle ikisi de 0 alır.

lock iconGönderirken +13 gizli test

challenge icon

Ek soru

Sıcaklıklar yalnızca 71 farklı değer alır; 30'dan 100'e kadar. Sıcaklığa göre indekslenmiş bir tablo, sağdan sola tek geçişte her güne nasıl yanıt verebilir ve bu geçişin maliyeti nedir?

Kodu sıfırla
def dailyTemperatures(temperatures):
    # Kodu buraya yazın
Test durumları

Durum 1

Durum 2

Durum 3

Girdi

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

Beklenen

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