当前为游客只读模式。登录后可提交代码判题并保存草稿与进度。
最小栈
中等minStack()时间限制 2000 ms内存限制 128 MB复杂度要求 时间 各操作 O(1),空间 O(n)
最小栈
设计一个支持 push、pop、top 操作,并能在常数时间内检索到最小元素的栈。
与力扣原题语义一致,此处采用函数式接口:传入操作名数组和参数数组,依次执行并返回每次有返回值操作的结果。
接口
operations[0]恒为"MinStack"(构造,跳过)。"push":压栈,参数为values[i],返回null。"pop":弹栈,无参数,返回null。"top":查看栈顶,无参数,返回栈顶元素。"getMin":检索最小元素,无参数,返回当前栈中最小值。
输入
operations:操作名数组,首项为"MinStack"values:与operations等长的参数数组;push时为入栈值,其余操作位置填任意数(忽略)
输出
按顺序返回每个非构造操作的结果:push/pop 返回 null,top/getMin 返回数字。
示例
输入:
operations = ["MinStack", "push", "push", "push", "getMin", "pop", "top", "getMin"]
values = [0, -2, 0, -3, 0, 0, 0, 0]
输出:
[null, null, null, -3, null, 0, -2]
解释:依次 push(-2)、push(0)、push(-3),getMin 返回 -3;pop 弹出 -3,top 返回 0,getMin 返回 -2。
Loading...
输入
[["MinStack","push","push","push","getMin","pop","top","getMin"],[0,-2,0,-3,0,0,0,0]]
预期输出
[null,null,null,-3,null,0,-2]