Burst Balloons

You are given n balloons, indexed from 0 to n - 1. Each balloon is painted with a number represented by an array nums. You are asked to burst all the balloons.

If you burst the i^th balloon, you will get nums[i - 1] * nums[i] * nums[i + 1] coins. If i - 1 or i + 1 goes out of bounds of the array, then treat it as if there is a balloon with a 1 painted on it.

Return the maximum coins you can collect by bursting the balloons wisely.

Example 1
Inputnums = [3,1,5,8]
Output167
Bursting the balloons in the shown order gives 3*1*5 + 3*5*8 + 1*3*8 + 1*8*1 = 167 coins, which is the maximum.
Example 2
Inputnums = [1,5]
Output10
Bursting the two balloons can collect at most 10 coins.

Constraints

  • n == nums.length
  • 1 <= n <= 300
  • 0 <= nums[i] <= 100

Asked at 14 companies

</>

Your Solution

(Ctrl/Cmd + Enter)

Switching Language

Loading template...

Loading...

Sign in to save your progress

AI code evaluation

Get a correctness verdict, missed edge cases, and complexity analysis of your solution.

Sign in to evaluate