当前位置: 首页 > 后端技术 > Python

Leetcode1172.餐盘堆-python解决方案

时间:2023-03-26 01:31:57 Python

题目链接:leetocde1172解题思路本题很简单,就是用python在python中用list实现stack。我们定义了几个类的属性:self.s=[[]],一个列表的列表,也就是我们要操作的所有栈self.cur_id=0表示下一次push对应的栈的idself.capacityoperation是每个栈的容量。操作:push:需要判断cur_id指向的栈是否有空间,如果没有,则查看右边如果没有栈,则向cur_id加一,否则添加新的栈pop:判断最右边的栈是否有元素,如果不存在则销毁栈并向左移动popAtStack:判断指定栈是否存在并有元素self.cur_id=0defpush(self,val:int)->None:whileTrue:iflen(self.s[self.cur_id])int:i=len(self.s)-1whilenotself.s[i]:如果i==0:return-1self.s.pop()i-=1self.cur_id=min(self.cur_id,i)returnself.s[我]。pop()defpopAtStack(self,index:int)->我nt:ifindex