Min Stack
来源:互联网 发布:mysql认证考试报名 编辑:程序博客网 时间:2024/05/29 11:11
题目详情:https://leetcode.com/problems/min-stack/description/
# -*- coding:utf-8 -*-import sysclass MinStack(object): def __init__(self): """ initialize your data structure here. """ self.stack=[] self.minStack=[] #最小值数组,栈顶元素为最小的值 def push(self, x): """ :type x: int :rtype: void """ self.stack.append(x) #如果最小值数组为空,或者最小值数组的栈顶的元素大于等于要入栈的元素 #则将该元素也入最小栈中 #入栈:-2,0,-3 出栈:-3 最小值为-2 :这是大于的作用 #入栈:2,1,1,-2 出栈:-2 最小值为1 出栈1后 最小值为1 这是等于的作用 if len(self.minStack)==0 or self.minStack[-1]>=x: self.minStack.append(x) def pop(self): """ :rtype: void """ last=self.top()#得到栈顶元素 self.stack.pop() #删除栈的最后一个元素 #如果删除的元素等于最小栈的栈顶元素,那么最小栈的栈顶元素也需要删除,因为已经不是最小的元素了 if last==self.minStack[-1]: self.minStack.pop() def top(self): """ :rtype: int """ return self.stack[-1] #得到最后一个元素 def getMin(self): """ :rtype: int """ if len(self.minStack)!=0: #最小值的栈非空,那么返回栈顶元素 return self.minStack[-1] return None#若为空,则返回空
阅读全文
0 0
- min stack
- Min Stack
- Min Stack
- Min Stack
- Min Stack
- Min Stack
- Min Stack
- Min Stack
- Min Stack
- Min Stack
- Min Stack
- Min Stack
- Min Stack
- Min Stack
- Min Stack
- Min Stack
- Min Stack
- Min Stack
- 初学opencv/形态学边缘检测
- 通过SQL删除SDE图层后,无法再新建相同图层名的问题
- PAT-A1027. Colors in Mars (20)
- Description has only two Sentences HDU
- Struts2学习笔记(二)——环境搭建
- Min Stack
- codeforces 835c Star sky
- 安卓集成友盟登陆分享(附带源码)
- Leetcode--Add to List 374. Guess Number Higher or Lower
- BZOJ3942&&Usaco2015 Feb[Censoring] KMP算法
- HTML5 <a>中 target="_blank"属性值含义
- 将PKCS12文件转成JKS
- 机器学习精简教程之七——用scikit-learn做特征提取
- list-style-image 在IE下设置float浮动后便不再正常显示