leetcode-155-最小栈
题目描述:
方法一:辅助栈
class MinStack:def __init__(self):"""initialize your data structure here."""self.stack = []self.min_stack = []def push(self, x: int) -> None:self.stack.append(x)if not self.min_stack or x <= self.min_stack[-1]:self.min_stack.append(x)def pop(self) -> None:if self.stack[-1] == self.min_stack[-1]:self.min_stack.pop()self.stack.pop()def top(self) -> int:return self.stack[-1]def getMin(self) -> int:if not self.min_stack:return Nonereturn self.min_stack[-1]
另:(更快)
class MinStack:def __init__(self):"""initialize your data structure here."""self.curStack = []self.minStack = []def push(self, x: int) -> None:self.curStack.append(x)if len(self.minStack) == 0:self.minStack.append(x)elif x < self.minStack[-1]:self.minStack.append(x)else:self.minStack.append(self.minStack[-1])def pop(self) -> None:self.curStack.pop()self.minStack.pop()def top(self) -> int:return self.curStack[-1]def getMin(self) -> int:return self.minStack[-1]
转载于:https://www.cnblogs.com/oldby/p/11205842.html
leetcode-155-最小栈相关推荐
- LeetCode:155. 最小栈
题目链接 155.最小栈 题目描述 设计一个支持 push,pop,top 操作,并能在常数时间内检索到最小元素的栈. push(x) -- 将元素 x 推入栈中. pop() -- 删除栈顶的元素. ...
- leetcode 155. 最小栈
难度:简单 频次:59 题目: 设计一个支持 push ,pop ,top 操作,并能在常数时间内检索到最小元素的栈. 实现 MinStack 类: MinStack() 初始化堆栈对象. void ...
- leetcode 155. 最小栈(常数时间获取最小值,需要维护两个栈)
题目 思路 左神讲过的经典算法,维护两个栈: stack,用来存储数据 minStack,用来存储每个位置情况下的最小值,类似于动态规划. 每次入栈2个元素,一个是入栈的元素本身,一个是当前栈元素的最 ...
- LeetCode 155.最小栈
设计一个支持 push ,pop ,top 操作,并能在常数时间内检索到最小元素的栈. 实现 MinStack 类: MinStack() 初始化堆栈对象. void push(int val) 将元 ...
- leetcode - 155. 最小栈
设计一个支持 push,pop,top 操作,并能在常数时间内检索到最小元素的栈. push(x) – 将元素 x 推入栈中. pop() – 删除栈顶的元素. top() – 获取栈顶元素. get ...
- Leetcode 155. 最小栈 (每日一题 20210923)
设计一个支持 push ,pop ,top 操作,并能在常数时间内检索到最小元素的栈.push(x) -- 将元素 x 推入栈中. pop() -- 删除栈顶的元素. top() -- 获取栈顶元素. ...
- 【LeetCode】【HOT】155. 最小栈(辅助栈)
[LeetCode][HOT]155. 最小栈 文章目录 [LeetCode][HOT]155. 最小栈 package hot;import java.util.ArrayDeque; import ...
- leetcode系列-155.最小栈
leetcode系列–第155题.最小栈 题目描述: 设计一个支持 push ,pop ,top 操作,并能在常数时间内检索到最小元素的栈. 实现 MinStack 类: MinStack() 初始化 ...
- 【LeetCode笔记】155. 最小栈(Java、栈)
文章目录 题目描述 思路 & 代码 更新版 题目描述 用空间换时间的经典例子,唯一要解决的地方就是 getMin() 如何实现常数检索 (貌似也是面试常考题) 思路 & 代码 既然想快 ...
- leetcode题目-最小栈和用两个栈实现队列
1.用两个栈实现队列 a栈用来存放加入的数 b栈用来存放要删除的数 当b栈存在数据时,就把top的元素pop掉 直到b栈中没有数据存放,再重新遍历a栈,把a的数据倒着遍历进b栈.也就是b栈存放着倒着的 ...
最新文章
- 根据keyName(如:result.data.name),无限深度遍历获取keyValue
- R语言基于自定义函数构建xgboost模型并使用LIME解释器进行模型预测结果解释:基于训练数据以及模型构建LIME解释器解释多个iris数据样本的预测结果、使用LIME解释器进行模型预测结果解释
- 企业级LNMP架构搭建实例(基于Centos6.x)
- Firefox 修改User Agent
- 写了一个测试正则表达式的小工具
- python不换行_Python print 输出时不换行
- NYOJ 372 巧克力
- 07 | 案例篇:系统中出现大量不可中断进程和僵尸进程怎么办?(上)
- Versant 对象型数据库
- 厉害了!VMware ESXi安装记录,附下载
- matlab怎么实现OFDM仿真,OFDMmatlab实现仿真源代码
- C++之指针探究(二):一级指针和一维数组
- Java 笔试强训 牛客网选择编程题 01
- lintcode:Add Binary 二进制求和
- 容器和泛型 容器重点掌握
- Qt5.9配置安卓开发环境
- 使用dex2jar反编译apk
- 惠群计算机科技,电脑报专访:探索新视角,再造多元化的宏碁
- 【已解决】Mac每次重启,谷歌Chrome都会丢失所有的扩展程序/extensions/插件
- 神经网络实现---SSD