Menu
CoddyTech

Burst Balloons

Sederet balon diberikan dalam nums, dengan nums[i] sebagai angka pada balon i. Kamu meletuskan semuanya, satu per satu, dalam urutan apa pun. Meletuskan sebuah balon menghasilkan left × nums[i] × right koin, dengan left dan right sebagai angka pada tetangganya saat itu, yaitu balon terdekat di setiap sisi yang masih berada dalam deretan. Tetangga yang tidak ada dihitung sebagai 1. Setelah sebuah balon meletus, kedua tetangganya menjadi bersebelahan. Kembalikan jumlah koin terbanyak yang bisa kamu kumpulkan.

Fungsi

maxCoins(nums: integer-array) → integer
numsinteger-array
angka pada balon, dari kiri ke kanan
Mengembalikaninteger
jumlah koin terbanyak yang bisa kamu kumpulkan dengan meletuskan setiap balon

Batasan

  • 1 ≤ nums.length ≤ 300
  • 0 ≤ nums[i] ≤ 100
  • Jawabannya kurang dari 3 × 108, jadi muat dalam bilangan bulat bertanda 32-bit.

Contoh

Input
nums = [2, 4, 3]
Output
33
Penjelasan
Uraikan 4 untuk 2 × 4 × 3 = 24. Angka 2, yang kini berada di sebelah 3, menghasilkan 1 × 2 × 3 = 6, dan angka 3 menghasilkan 3: totalnya 33.
challenge icon

Pertanyaan lanjutan

Bisakah kamu juga mengembalikan satu urutan bursting yang menghasilkan koin terbanyak?

Reset kode
def maxCoins(nums):
    # Tulis kodemu di sini

Tes #1

Tes #2

Tes #3

Argumen

nums = [2, 4, 3]

Output yang diharapkan

33