Top 150 des entrevuesFacile

Poids de la dernière pierre

Guide détaillé et implémentation de Python pour le problème « Dernier poids de pierre ».

Énoncé du problème

Facile

Vous recevez un tableau de pierres entières où pierres[i] est le poids de la ième pierre.

Nous jouons à un jeu avec les pierres. A chaque tour, on choisit les deux pierres les plus lourdes et on les écrase ensemble. Supposons que les deux pierres les plus lourdes aient des poids x et y avec x <= y. Le résultat de ce smash est :

- Si x == y, les deux pierres sont détruites,

- Si x != y, la pierre de poids x est détruite, et la pierre de poids y a un nouveau poids y - x.

A la fin de la partie, il ne reste plus qu'une pierre.

Renvoie le poids de la dernière pierre restante. S'il ne reste plus de pierres, renvoyez 0.

Écrivez une fonction lastStoneWeight(stones: List[int]) -> int.

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

Exemples

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?
Envisagez d'utiliser des structures de données spécifiques au tas/à la file d'attente prioritaire, comme des ensembles ou des tas.
Edge Cases to Watch
  • Structures d'entrée vides
  • Entrées à élément unique
  • Grandes limites numériques

Prêt à résoudre ?

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

Ouvrir dans l'éditeur
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

Ressources Python recommandées

Développez vos connaissances avec des didacticiels interactifs, des aide-mémoire et des comparaisons de codes associés.