在动物牛国度的农场上,农场主想要快速获取牛的体重数据,于是他需要你设计一个支持 push、pop、top 操作,并能在常数时间内检索到最大元素的栈。 请你实现一个类 MaxStack,并完成以下操作: MaxStack():初始化最大栈对象。 void push(int val):将元素 val 推入栈中。 void pop():删除栈顶部的元素。 int top():获取栈顶部的元素。 int getMax():获取栈中的最大元素。
示例1

输入

["push","push","push","getMax","pop","top","getMax"],[0,-2,0,-3,0,0,0,0]

输出

[0,-2,0]
示例2

输入

["push", "push", "push", "push", "getMax", "pop", "getMax", "pop", "getMax"],[1, 2, 3, 4, 0, 0, 0, 0, 0]

输出

[4,3,2]

备注:
0 pop、top 和 getMax 操作总是在非空栈上调用push、pop、top 和 getMax 最多被调用 3 * 10^5 次
加载中...