Menu
CoddyTech

Daily Temperatures

temperatures[i] adalah suhu pada hari i. Untuk setiap hari, hitung berapa hari kamu harus menunggu setelah hari itu sampai hari yang suhunya lebih tinggi tiba, atau 0 jika tidak ada hari yang lebih panas setelahnya. Kembalikan array dengan panjang yang sama, dengan entri i sebagai waktu tunggu untuk hari i.

Fungsi

dailyTemperatures(temperatures: integer-array) → integer-array
temperaturesinteger-array
suhu setiap hari, secara berurutan
Mengembalikaninteger-array
untuk setiap hari, jumlah hari hingga hari yang lebih hangat, atau 0 jika tidak ada hari yang lebih hangat

Batasan

  • 1 ≤ temperatures.length ≤ 104
  • 30 ≤ temperatures[i] ≤ 100
  • Lebih hangat berarti benar-benar lebih tinggi: hari berikutnya dengan suhu yang sama tidak dihitung.

Contoh

Input
temperatures = [71, 69, 72, 70, 70, 75, 68]
Output
[2, 1, 3, 2, 1, 0, 0]
Penjelasan
Hari ke-0 (71) menunggu 2 hari untuk 72. Hari ke-3 (70) melewati 70 yang sama pada hari ke-4 dan menunggu 2 hari untuk 75. Tidak ada suhu setelah 75 atau 68 yang lebih hangat, jadi keduanya mendapat 0.
challenge icon

Pertanyaan lanjutan

Suhu hanya memiliki 71 nilai, dari 30 hingga 100. Bagaimana tabel yang diindeks berdasarkan suhu dapat menjawab setiap hari dalam satu kali lintasan dari kanan ke kiri, dan berapa biayanya?

Reset kode
def dailyTemperatures(temperatures):
    # Tulis kodemu di sini

Tes #1

Tes #2

Tes #3

Argumen

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

Output yang diharapkan

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