
栈和队列
aaaqqq1234
这个作者很懒,什么都没留下…
展开
-
用两个栈来实现一个队列
class Solution: stack1 = [] stack2 = [] def push(self, node): self.stack1.append(node) def pop(self): if len(self.stack2) == 0: for i in range(len(self.stack1)): val = self.stack1.pop()原创 2020-09-18 13:47:17 · 95 阅读 · 0 评论 -
最大矩形面积
题目 输入: [2,1,5,6,2,3] 输出: 10 思路 单调栈 代码 def largestRectangleArea(heights): max_ans = 0 heights = [0]+heights +[0] length = len(heights) stack = [0] for i in range(1,length): while heights[i]<heights[stack[-1]]: h =原创 2020-08-04 19:28:17 · 125 阅读 · 0 评论 -
队列
题目 队列 class Arrayqueue: default_capacity = 3 def __init__(self): self.data = [None]*Arrayqueue.default_capacity self.size = 0 self.head = 0 def __len__(): return self.size def is_empty(self): return self.size == 0 def extenti原创 2020-07-19 21:39:25 · 97 阅读 · 0 评论 -
栈
题目 栈 class ArrayStack: def __init__(self): self.data = [] def len(self): return len(self.data) def is_empty(self): return len(self.data) == 0 def push(self,a): self.data.append(a) def top(self): if self.is_empty(): r原创 2020-07-19 21:38:01 · 90 阅读 · 0 评论