150 principais entrevistasFácil

Peso da Última Pedra

Guia detalhado e implementação de Python para o problema do 'Peso da Última Pedra'.

Declaração do problema

Fácil

Você recebe uma série de pedras inteiras, onde pedras[i] é o peso da i-ésima pedra.

Estamos jogando um jogo com as pedras. Em cada turno, escolhemos as duas pedras mais pesadas e as esmagamos. Suponha que as duas pedras mais pesadas tenham pesos xey com x <= y. O resultado desse sucesso é:

- Se x == y, ambas as pedras são destruídas,

- Se x != y, a pedra de peso x é destruída, e a pedra de peso y tem novo peso y - x.

No final do jogo, resta no máximo uma pedra.

Devolva o peso da última pedra restante. Se não sobrar nenhuma pedra, retorne 0.

Escreva uma função lastStoneWeight(stones: List[int]) -> int.

Restrições
  • 1 <= len(stones) <= 30
  • 1 <= stones[i] <= 1000

Exemplos

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?
Considere usar estruturas de dados específicas de heap/fila de prioridade, como conjuntos ou heaps.
Edge Cases to Watch
  • Estruturas de entrada vazias
  • Entradas de elemento único
  • Grandes limites numéricos

Pronto para resolver?

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

Abrir no 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

Recursos Python recomendados

Expanda seu conhecimento com tutoriais interativos relacionados, folhas de dicas e comparações de código.