Menu
CoddyTech

Burst Balloons

Một dãy bóng bay được cho dưới dạng nums, trong đó nums[i] là số ghi trên quả bóng thứ i. Bạn làm nổ tất cả bóng, từng quả một, theo thứ tự bất kỳ. Làm nổ một quả bóng giúp bạn kiếm được left × nums[i] × right xu, trong đó left và right là các số ghi trên hai quả bóng hiện là hàng xóm của nó, tức là những quả bóng gần nhất ở mỗi bên vẫn còn trong dãy. Nếu không có hàng xóm ở một bên, giá trị ở bên đó được tính là 1. Sau khi một quả bóng nổ, hai quả bóng hàng xóm của nó trở thành hàng xóm của nhau. Hãy trả về số xu tối đa bạn có thể kiếm được.

Hàm

maxCoins(nums: integer-array) → integer
numsinteger-array
các số trên những quả bóng bay, từ trái sang phải
Trả vềinteger
số xu nhiều nhất bạn có thể thu thập bằng cách làm nổ mọi quả bóng bay

Ràng buộc

  • 1 ≤ nums.length ≤ 300
  • 0 ≤ nums[i] ≤ 100
  • Đáp án nhỏ hơn 3 × 108 nên nằm trong phạm vi của số nguyên có dấu 32 bit.

Ví dụ

Đầu vào
nums = [2, 4, 3]
Đầu ra
33
Giải thích
Cho nổ số 4 để được 2 × 4 × 3 = 24. Số 2, giờ nằm cạnh số 3, được 1 × 2 × 3 = 6, còn số 3 được 3: tổng cộng là 33.
challenge icon

Câu hỏi mở rộng

Bạn cũng có thể trả về một đơn hàng bùng nổ mang lại nhiều xu nhất không?

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

Kiểm thử #1

Kiểm thử #2

Kiểm thử #3

Đối số

nums = [2, 4, 3]

Đầu ra mong đợi

33