Menu
CoddyTech

Daily Temperatures

temperatures[i] là nhiệt độ vào ngày i. Với mỗi ngày, hãy đếm số ngày bạn phải chờ sau ngày đó cho đến khi nhiệt độ cao hơn xuất hiện, hoặc trả về 0 nếu sau đó không có ngày nào ấm hơn. Trả về một mảng có cùng độ dài, trong đó phần tử i là số ngày chờ của ngày i.

Hàm

dailyTemperatures(temperatures: integer-array) → integer-array
temperaturesinteger-array
nhiệt độ của từng ngày, theo thứ tự
Trả vềinteger-array
cho mỗi ngày, số ngày còn lại cho đến ngày có nhiệt độ cao hơn, hoặc 0 nếu không có ngày nào như vậy

Ràng buộc

  • 1 ≤ temperatures.length ≤ 104
  • 30 ≤ temperatures[i] ≤ 100
  • Nhiệt độ ấm hơn nghĩa là phải cao hơn hẳn: ngày sau có cùng nhiệt độ thì không được tính.

Ví dụ

Đầu vào
temperatures = [71, 69, 72, 70, 70, 75, 68]
Đầu ra
[2, 1, 3, 2, 1, 0, 0]
Giải thích
Ngày 0 (71) chờ 2 ngày để gặp 72. Ngày 3 (70) bỏ qua giá trị 70 bằng nhau vào ngày 4 và chờ 2 ngày để gặp 75. Không có ngày nào sau 75 hoặc 68 ấm hơn, nên cả hai đều nhận 0.
challenge icon

Câu hỏi mở rộng

Nhiệt độ chỉ nhận 71 giá trị, từ 30 đến 100. Làm thế nào một bảng được đánh chỉ số theo nhiệt độ có thể trả lời trong một lượt cho mọi ngày, từ phải sang trái, và với cái giá nào?

Đặt lại code
def dailyTemperatures(temperatures):
    # Viết code ở đây

Kiểm thử #1

Kiểm thử #2

Kiểm thử #3

Đối số

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

Đầu ra mong đợi

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