Menu
CoddyTech

Burst Balloons

Bir sıra balon nums olarak verilmiştir; burada nums[i], i balonunun üzerindeki sayıdır. Hepsini istediğin sırayla, teker teker patlatırsın. Bir balonu patlatmak, left × nums[i] × right kadar coin kazandırır; burada left ve right, sırada hâlâ bulunan ve balonun her iki yanındaki en yakın komşularının üzerindeki sayılardır. Eksik bir komşu 1 kabul edilir. Bir balon patlatıldıktan sonra, iki komşusu bitişik hâle gelir. Toplayabileceğin en fazla coin miktarını döndür.

Fonksiyon

maxCoins(nums: integer-array) → integer
numsinteger-array
balonlardaki sayılar, soldan sağa
Döndürürinteger
her balonu patlatarak toplayabileceğin en fazla jeton

Kısıtlar

  • 1 ≤ nums.length ≤ 300
  • 0 ≤ nums[i] ≤ 100
  • Cevap 3 × 108'den küçüktür, bu nedenle 32 bitlik işaretli bir tamsayıya sığar.

Örnekler

Girdi
nums = [2, 4, 3]
Çıktı
33
Açıklama
2 × 4 × 3 = 24 için 4'ü patlat. Şimdi 3'ün yanındaki 2, 1 × 2 × 3 = 6 puan kazandırır ve 3 de 3 puan kazandırır: toplam 33.
challenge icon

Ek soru

En çok jeton kazandıran patlatma sırasını da verebilir misin?

Kodu sıfırla
def maxCoins(nums):
    # Kodu buraya yazın

Test #1

Test #2

Test #3

Argüman

nums = [2, 4, 3]

Beklenen Çıktı

33