
goldRush
Mô phỏng game đào vàng bằng cách cho một bản đồ có kích thước 1*m. Mỗi ô sẽ có một lượng vàng đòi hỏi phải có sức mạnh mới có thể đào được. Ban đầu ta sẽ đứng ở một vị trí x nào đó lúc này ta sẽ có một sức mạnh là a[x]. Sau đó chỉ có thể đào các khối vàng ở vị trí kề cạnh người đào và đào theo cách sau:
- Nếu a[x] > a[x+1] thì ta có thể đào được vàng ở vị trí a[x+1]
- Nếu a[x] > a[x-1] thì ta có thể đào được vàng ở vị trí a[x-1]
- Sức mạnh sẽ tăng lên 1 nếu ta có thể đào được vàng.
Hãy tính xem ta có thể đào được tất cả vàng ở trong bản đồ hay không
Ví dụ:
- Với
arr = [5, 3, 4, 4, 5]
. Đầu ragoldRush(arr) = true.
Giải thích: Lúc đầu ta sẽ đứng ở vị trí 2 sẽ có sức mạnh là 4.
– Đào vàng ở vị trí 1. Mảng [5,5,4,5]. Gạch dưới hiển thị tình trạng sức mạnh của người đào vàng
– Đào vàng ở vị trí 2. Mảng [5,6,5].
– Tiếp tục như vậy cuối cùng mảng sẽ là [8] thỏa điều kiện
Đầu vào/Đầu ra:
-
[Thời gian chạy] 0.5s với C++, 3s với Java và C#, 4s với Python, Go và JavaScript.
- [Đầu vào]array of integers
0 <= arr.Length <= 10^4
- [Đầu ra]Boolean
Kết quả yêu cầu đề bài
Post Comment