We use cookies for site analytics. Accept to help us understand how the site is used. See our Privacy Policy for details.
A hard stack problem, graded against 4 test cases (2 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 →Use a frequency map to track how many times each value appears. Use a group map that maps each frequency to a stack of values at that frequency. Track the current max frequency. On push, increment the value's frequency and push onto the corresponding frequency stack. On pop, pop from the max frequency stack, decrement frequency, and decrease maxFreq if that stack is empty.
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.