https://leetcode.com/problems/max-stack
https://www.lintcode.com/problem/859
Design a max stack that supports:
- push(x): Push element x onto stack.
- pop(): Remove the element on top of the stack and return it.
- top(): Get the element on the top.
- peekMax(): Retrieve the maximum element in the stack.
- popMax(): Retrieve the maximum element in the stack, and remove it. If you find more than one maximum elements, only remove the top-most one.