Top 150-InterviewMittel

Platzende Luftballons

Detaillierte Anleitung und Python-Implementierung für das Problem „Burst Balloons“.

Problemstellung

Mittel

Sie erhalten n Ballons, indiziert von 0 bis n - 1. Auf jedem Ballon ist eine Zahl abgebildet, die durch ein Array „nums“ dargestellt wird. Sie werden aufgefordert, alle Ballons zum Platzen zu bringen.

Wenn Sie den i-ten Ballon platzen lassen, erhalten Sie nums[i - 1] * nums[i] * nums[i + 1] Münzen. Wenn i - 1 oder i + 1 außerhalb der Grenzen des Arrays liegt, behandeln Sie es so, als ob es eine Sprechblase mit einer darauf aufgemalten 1 gäbe.

Geben Sie die maximale Anzahl an Münzen zurück, die Sie sammeln können, indem Sie die Ballons mit Bedacht platzen lassen.

Schreiben Sie eine Funktion maxCoins(nums: List[int]) -> int.

Einschränkungen
  • n == len(nums)
  • 1 <= n <= 300
  • 0 <= nums[i] <= 100

Beispiele

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?
Erwägen Sie die Verwendung von 2D-DP-spezifischen Datenstrukturen wie Mengen oder Heaps.
Edge Cases to Watch
  • Leere Eingabestrukturen
  • Einzelelementeingaben
  • Große numerische Grenzen

Bereit zur Lösung?

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

Im Editor öffnen
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

Empfohlene Python-Ressourcen

Erweitern Sie Ihr Wissen mit zugehörigen interaktiven Tutorials, Spickzetteln und Codevergleichen.