En İyi 150 RöportajOrta

Patlama Balonları

'Patlama Balonları' sorunu için ayrıntılı kılavuz ve Python uygulaması.

Sorun Bildirimi

Orta

Size 0'dan n - 1'e kadar indekslenmiş n tane balon veriliyor. Her balonun üzerinde bir dizi numarayla temsil edilen bir sayı boyanıyor. Sizden tüm balonları patlatmanız isteniyor.

Eğer i'inci balonu patlatırsanız, nums[i - 1] * nums[i] * nums[i + 1] jeton alacaksınız. Eğer i - 1 veya i + 1 dizinin sınırlarının dışına çıkarsa, bunu sanki üzerinde 1 boyalı bir balon varmış gibi ele alın.

Balonları akıllıca patlatarak toplayabileceğiniz maksimum parayı geri verin.

maxCoins(nums: List[int]) -> int adlı bir işlev yazın.

Kısıtlamalar
  • n == len(nums)
  • 1 <= n <= 300
  • 0 <= nums[i] <= 100

Örnekler

Example 1
Input
nums = [3,1,5,8]
Output
167
Explanation

burst 1 -> burst 5 -> burst 3 -> burst 8. Coins: 3*1*5 + 3*5*8 + 1*3*8 + 1*8*1 = 167.

Example 2
Input
nums = [1,5]
Output
10
Explanation

burst 1 first: 1*5*1 = 5, then burst 5: 1*5*1 = 5. Total = 10.

Need a Hint?
Kümeler veya yığınlar gibi 2B DP'ye özgü veri yapılarını kullanmayı düşünün.
Edge Cases to Watch
  • Boş giriş yapıları
  • Tek eleman girişleri
  • Büyük sayısal sınırlar

Çözmeye Hazır mısınız?

Open the problem in PyRun's browser-based Python editor. Your code runs fully offline — no server required.

Editörde Aç
Found this breakdown helpful?

PyRun is built and maintained by an independent solo developer. If this helped your interview prep, consider buying a coffee!

Buy me a coffee

Önerilen Python Kaynakları

İlgili etkileşimli eğitimler, yardımcı sayfalar ve kod karşılaştırmalarıyla bilginizi genişletin.