面试题30.Stackcontainingminfunction本题同Leetcode155题:https://leetcode-cn.com/problems/min-stack/未使用额外的空间无法达到O(1)的复杂度。定义一个额外的堆栈m来存储当前的最小值。参考和详细解析:liweiwei1419的题解python解法classMinStack:def__init__(self):"""在这里初始化你的数据结构。"""self.s=[]self.m=[]defpush(self,x:int)->无:如果不是self.m或x<=self.m[-1]:self.m.append(x)self.s.append(x)defpop(self)->无:x=self.s.pop()如果x==self.m[-1]:self.m.pop()返回xdeftop(self)->int:returnself.s[-1]defmin(self)->int:returnself.m[-1]#你的MinStack对象将被实例化并这样调用:#obj=MinStack()#obj.push(x)#obj.pop()#param_3=obj.top()#param_4=obj.min()c++解法#include
