150 principais entrevistasFácil

Pilha mínima

Guia detalhado e implementação de Python para o problema 'Min Stack'.

Declaração do problema

Fácil

Projete uma pilha que suporte push, pop, top e recuperação do elemento mínimo em tempo constante.

Implemente a classe MinStack:

- MinStack() inicializa o objeto stack.

- push(val: int) coloca o elemento val na pilha.

- pop() remove o elemento no topo da pilha.

- top() -> int obtém o elemento superior da pilha.

- getMin() -> int recupera o elemento mínimo na pilha.

Você deve implementar uma solução com complexidade de tempo O(1) para cada função.

Restrições
  • -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

Exemplos

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 usar estruturas de dados específicas da pilha, 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.