Entrevista a los 150 mejoresfácil

Pila mínima

Guía detallada e implementación de Python para el problema 'Min Stack'.

Declaración del problema

fácil

Diseñe una pila que admita push, pop, top y recuperación del elemento mínimo en tiempo constante.

Implemente la clase MinStack:

- MinStack() inicializa el objeto de la pila.

- push(val: int) empuja el elemento val a la pila.

- pop() elimina el elemento en la parte superior de la pila.

- top() -> int obtiene el elemento superior de la pila.

- getMin() -> int recupera el elemento mínimo en la pila.

Debe implementar una solución con complejidad temporal O(1) para cada función.

Restricciones
  • -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

Ejemplos

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?
Considere la posibilidad de utilizar estructuras de datos específicas de la pila, como conjuntos o montones.
Edge Cases to Watch
  • Estructuras de entrada vacías
  • Entradas de un solo elemento
  • Grandes límites numéricos

¿Listo para resolver?

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

Abrir en el 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 recomendados de Python

Amplíe sus conocimientos con tutoriales interactivos relacionados, hojas de trucos y comparaciones de códigos.