We use cookies for site analytics. Accept to help us understand how the site is used. See our Privacy Policy for details.
A hard monotonic stack problem, graded against 7 test cases (4 of them hidden).
A stack kept sorted, for next-greater and largest-rectangle style questions.
Reach for it when you see: "Next greater/smaller element", or a maximum rectangle/area over a histogram.
More Monotonic Stackproblems →Iterate left to right keeping a stack of indices whose heights are strictly increasing. When we hit a bar shorter than the stack's top, we pop the top: the popped bar's "right boundary" is the current index, its "left boundary" is the new top of the stack (or -1 if empty), and its width is `right - left - 1`. After the loop, treat all remaining stack entries as having a right boundary at `n`. Push a sentinel of height 0 at the end to flush the stack cleanly.
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.