We use cookies for site analytics. Accept to help us understand how the site is used. See our Privacy Policy for details.
A medium stack problem, graded against 6 test cases (3 of them hidden).
Last-in-first-out processing - matching, nesting, and deferred evaluation.
Reach for it when you see: Balanced brackets, nested structures, undo/back semantics, or expression evaluation.
More Stackproblems →Maintain two parallel stacks: one for the actual values and one (`mins`) where each entry is the minimum of all elements at or below that position. On `push(x)`, push `x` to the value stack and push `min(x, mins.top)` to the min stack. On `pop`, pop both. `top` reads the value stack's top; `getMin` reads the min stack's top. Every operation is O(1).
The full reference solution in every supported language stays in the editor above - reveal it there once you have had a real attempt.
Read off this problem's own test suite, so these are the cases a submission actually has to survive.
These apply to the pattern as a whole, not just this problem.