Menu
CoddyTech

Burst Balloons

Une rangée de ballons est représentée par nums, où nums[i] est le nombre inscrit sur le ballon i. Vous les faites tous éclater, un à la fois, dans n’importe quel ordre. Faire éclater un ballon rapporte left × nums[i] × right pièces, où left et right sont les nombres inscrits sur ses voisins actuels, c’est-à-dire les ballons les plus proches de chaque côté qui se trouvent encore dans la rangée. Un voisin manquant compte pour 1. Après qu’un ballon a éclaté, ses deux voisins deviennent adjacents. Retournez le nombre maximal de pièces que vous pouvez collecter.

Fonction

maxCoins(nums: integer-array) → integer
numsinteger-array
les nombres sur les ballons, de gauche à droite
Renvoieinteger
le plus grand nombre de pièces que vous pouvez collecter en faisant éclater tous les ballons

Contraintes

  • 1 ≤ nums.length ≤ 300
  • 0 ≤ nums[i] ≤ 100
  • La réponse est inférieure à 3 × 108, donc elle tient dans un entier signé de 32 bits.

Exemples

Entrée
nums = [2, 4, 3]
Sortie
33
Explication
Fais éclater le 4 pour obtenir 2 × 4 × 3 = 24. Le 2, maintenant à côté du 3, rapporte 1 × 2 × 3 = 6, et le 3 rapporte 3 : 33 au total.
challenge icon

Pour aller plus loin

Peux-tu aussi renvoyer un ordre d’éclatement qui rapporte le plus de pièces ?

Réinitialiser le code
def maxCoins(nums):
    # Écrivez le code ici

Test #1

Test #2

Test #3

Argument

nums = [2, 4, 3]

Résultat attendu

33