Wawancara 150 TeratasMudah

Berat Batu Terakhir

Panduan terperinci dan implementasi Python untuk masalah 'Berat Batu Terakhir'.

Pernyataan Masalah

Mudah

Anda diberikan susunan batu bilangan bulat dimana batu[i] adalah berat batu ke-i.

Kami sedang bermain-main dengan batu. Di setiap belokan, kami memilih dua batu terberat dan menghancurkannya menjadi satu. Misalkan dua batu terberat mempunyai berat x dan y dengan x <= y. Hasil dari smash ini adalah:

- Jika x == y, kedua batu tersebut hancur,

- Jika x != y, batu berbobot x hancur, dan batu berbobot y mendapat bobot baru y - x.

Di akhir permainan, paling banyak hanya tersisa satu batu.

Kembalikan berat batu terakhir yang tersisa. Jika tidak ada batu yang tersisa, kembalikan 0.

Tulis fungsi lastStoneWeight(stones: List[int]) -> int.

Kendala
  • 1 <= len(stones) <= 30
  • 1 <= stones[i] <= 1000

Contoh

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?
Pertimbangkan untuk menggunakan struktur data khusus Heap/Antrian Prioritas seperti kumpulan atau heap.
Edge Cases to Watch
  • Struktur masukan kosong
  • Masukan elemen tunggal
  • Batasan angka yang besar

Siap Memecahkannya?

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

Buka di Editor
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

Sumber Daya Python yang Direkomendasikan

Perluas pengetahuan Anda dengan tutorial interaktif terkait, lembar contekan, dan perbandingan kode.