Top 150-InterviewEinfach

Letztes Steingewicht

Detaillierte Anleitung und Python-Implementierung für das Problem „Last Stone Weight“.

Problemstellung

Einfach

Sie erhalten eine Reihe ganzzahliger Steine, wobei Steine[i] das Gewicht des i-ten Steins ist.

Wir spielen ein Spiel mit den Steinen. In jeder Runde wählen wir die beiden schwersten Steine ​​aus und zerschmettern sie. Angenommen, die schwersten zwei Steine ​​haben die Gewichte x und y mit x <= y. Das Ergebnis dieses Smashs ist:

- Wenn x == y, werden beide Steine zerstört,

- Wenn x != y, wird der Stein mit dem Gewicht x zerstört und der Stein mit dem Gewicht y hat das neue Gewicht y - x.

Am Ende des Spiels ist höchstens ein Stein übrig.

Geben Sie das Gewicht des letzten verbleibenden Steins zurück. Wenn keine Steine mehr übrig sind, wird 0 zurückgegeben.

Schreiben Sie eine Funktion lastStoneWeight(stones: List[int]) -> int.

Einschränkungen
  • 1 <= len(stones) <= 30
  • 1 <= stones[i] <= 1000

Beispiele

Example 1
Input
stones = [2,7,4,1,8,1]
Output
1
Explanation

Smash 7 and 8 to get 1, array becomes [2,4,1,1,1]. Smash 2 and 4 to get 2, array becomes [2,1,1,1]. Smash 2 and 1 to get 1, array becomes [1,1,1]. Smash 1 and 1 to get 0, array becomes [1]. The last remaining stone is 1.

Example 2
Input
stones = [1]
Output
1
Explanation

Only one stone, so weight is 1.

Need a Hint?
Erwägen Sie die Verwendung von Heap-/Prioritätswarteschlangen-spezifischen Datenstrukturen wie Sets 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.