Danh sách

Nhiệt độ hàng ngày (Daily Temperatures)

Trung bình
Ngăn Xếp & Hàng Đợi (Stack & Queue) 1000ms 128MB

Cho mảng temperatures. Trả về mảng answer sao cho answer[i] là số ngày phải chờ cho đến khi gặp nhiệt độ ấm hơn. Nếu không có, gán 0.

Ví dụ: temperatures = [73, 74, 75, 71, 69, 72, 76, 73] -> [1, 1, 4, 2, 1, 1, 0, 0]

Định Dạng Đầu Vào (Input)
Một dòng chứa mảng temperatures
Định Dạng Đầu Ra (Output)
Mảng answer
Ràng Buộc (Constraints)
  • 1 <= temperatures.length <= 10^5
Ví Dụ Kiểm Thử Mẫu
Ví dụ 1:
Input:
[73, 74, 75, 71, 69, 72, 76, 73]
Output:
[1, 1, 4, 2, 1, 1, 0, 0]
Giải thích: Đúng ngày
Ví dụ 2:
Input:
[30, 40, 50, 60]
Output:
[1, 1, 1, 0]
Giải thích: Tăng dần
Gợi ý được sắp xếp theo cấp độ tiến dần. Hãy mở từng gợi ý khi bạn thực sự cần thêm định hướng.

Kỹ thuật Monotonic Stack O(n)

Duy trì Stack lưu các index giảm dần theo nhiệt độ. Khi gặp nhiệt độ cao hơn, pop đỉnh và tính khoảng cách.

Vui lòng đăng nhập

Đăng nhập tài khoản học viên để xem lịch sử nộp bài của bạn.

Đăng nhập
Ctrl + Enter: Chạy thử
Dữ liệu đầu vào (Input):
[73, 74, 75, 71, 69, 72, 76, 73]
Kết quả kỳ vọng (Expected Output):
[1, 1, 4, 2, 1, 1, 0, 0]
Dữ liệu đầu vào (Input):
[30, 40, 50, 60]
Kết quả kỳ vọng (Expected Output):
[1, 1, 1, 0]
Nhập STDIN của bạn (Mỗi dòng một tham số):

Bấm Chạy thử để kiểm tra các bộ test mẫu hoặc Nộp bài để chấm điểm chính thức.

Đang gửi mã và thực thi trên Sandbox Engine...
Nhấn Ctrl+Enter để chạy

vừa nâng cấp PRO khóa 1 phút trước   Tìm hiểu khóa học