Top 150 des entrevuesFacile

Pile minimale

Guide détaillé et implémentation de Python pour le problème 'Min Stack'.

Énoncé du problème

Facile

Concevez une pile qui prend en charge le push, le pop, le top et la récupération de l'élément minimum en temps constant.

Implémentez la classe MinStack :

- MinStack() initialise l'objet pile.

- push(val: int) pousse l'élément val sur la pile.

- pop() supprime l'élément en haut de la pile.

- top() -> int obtient l'élément supérieur de la pile.

- getMin() -> int récupère l'élément minimum dans la pile.

Vous devez implémenter une solution avec une complexité temporelle O(1) pour chaque fonction.

Contraintes
  • -2^31 <= val <= 2^31 - 1
  • Methods pop, top, and getMin are always called on non-empty stacks
  • At most 3 * 10^4 calls will be made to push, pop, top, and getMin

Exemples

Example 1
Input
["MinStack", "push", "push", "push", "getMin", "pop", "top", "getMin"]
[[], [-2], [0], [-3], [], [], [], []]
Output
[None, None, None, None, -3, None, 0, -2]
Explanation

MinStack created. Push -2, 0, -3. getMin() returns -3. Pop removes -3. top() returns 0. getMin() returns -2.

Need a Hint?
Pensez à utiliser des structures de données spécifiques à Stack, 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.