Loading Now

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 ra goldRush(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

Contact