How would you implement a stack with push, pop, and min operations in constant time?

Coding
Medium
Amazon
77.4K views

This classic problem tests your understanding of auxiliary data structures to achieve O(1) time complexity for minimum retrieval.

Why Interviewers Ask This

Interviewers ask this to verify if you understand how to trade space for time complexity. It checks your ability to design data structures that support multiple operations efficiently. A correct solution demonstrates deep knowledge of stack mechanics and the utility of tracking state via a secondary structure.

How to Answer This Question

Explain the concept of maintaining a parallel stack that tracks the minimum value at each step. Describe how pushing involves updating both stacks and popping removes from both. Clarify that retrieving the minimum simply returns the top of the auxiliary stack. Mention space complexity implications as a trade-off.

Key Points to Cover

  • Dual stack implementation
  • Tracking minimums explicitly
  • O(1) time for all operations
  • Space-time tradeoff

Sample Answer

I would use two stacks: one for storing actual elements and another for tracking the minimums. When pushing a new element, I compare it with the current minimum. If it is smaller or equal, I also push it onto the min-sta…

Common Mistakes to Avoid

  • Scanning the stack for min
  • Incorrect update logic on push
  • Forgetting to pop from min-stack

Sound confident on this question in 5 minutes

Answer once and get a 30-second AI critique of your structure, content, and delivery. First attempt is free — no signup needed.

Try it free

Related Interview Questions

Browse all 80 Coding questionsBrowse all 184 Amazon questions