Menu
CoddyTech

Burst Balloons

Uma fileira de balões é fornecida como nums, em que nums[i] é o número do balão i. Você estoura todos eles, um de cada vez, em qualquer ordem. Estourar um balão rende left × nums[i] × right moedas, em que left e right são os números dos seus vizinhos atuais, os balões mais próximos de cada lado que ainda estão na fileira. Um vizinho inexistente conta como 1. Depois de estourar um balão, seus dois vizinhos ficam adjacentes. Retorne o máximo de moedas que você pode coletar.

Função

maxCoins(nums: integer-array) → integer
numsinteger-array
os números nos balões, da esquerda para a direita
Retornainteger
o maior número de moedas que você pode coletar estourando todos os balões

Restrições

  • 1 ≤ nums.length ≤ 300
  • 0 ≤ nums[i] ≤ 100
  • A resposta é menor que 3 × 108, portanto cabe em um inteiro assinado de 32 bits.

Exemplos

Entrada
nums = [2, 4, 3]
Saída
33
Explicação
Estoure o 4 para obter 2 × 4 × 3 = 24. O 2, agora ao lado do 3, vale 1 × 2 × 3 = 6, e o 3 vale 3: 33 ao todo.
challenge icon

Para ir além

Você também pode retornar um pedido explosivo que renda o máximo de moedas?

Redefinir código
def maxCoins(nums):
    # Escreva o código aqui

Teste #1

Teste #2

Teste #3

Argumento

nums = [2, 4, 3]

Saída Esperada

33