当前位置: 首页 > article >正文

python-leetcode 69.最小栈

题目:

设计一个支持push,pop,top,操作,并能在常数时间内检索到最小元素的栈。


辅助栈法:

1:使用两个栈,一个主栈用于存储所有元素,另一个辅助栈用于存储当前元素的最小值

2: 每次push时,将元素压入主栈,同时比较当前元素与辅助栈顶元素,将较小者压入辅助栈

3:每次pop时,同时从主栈和辅助栈弹出元素

4:getmin,直接返回辅助栈最小的栈顶元素

class MinStack(object):def __init__(self):self.stack=[]self.min_stack=[]def push(self, val):""":type val: int:rtype: None"""self.stack.append(val)if not self.min_stack or val <=self.min_stack[-1]:self.min_stack.append(val)def pop(self):""":rtype: None"""if self.stack:top_val=self.stack.pop()if top_val==self.min_stack[-1]:self.min_stack.pop()def top(self):""":rtype: int"""if self.stack:return self.stack[-1]def getMin(self):""":rtype: int"""if self.min_stack:return self.min_stack[-1]# Your MinStack object will be instantiated and called as such:
# obj = MinStack()
# obj.push(val)
# obj.pop()
# param_3 = obj.top()
# param_4 = obj.getMin()

http://www.lryc.cn/news/2380526.html

相关文章:

  • YOLO中model.predict方法返回内容Results详解
  • CF每日4题(1300-1400)
  • golang学习大全
  • falsk模型-flask_sqlalchemy增删改查
  • K8S详解(5万字详细教程)
  • STL编程之vector
  • BI是什么意思?一文讲清BI的概念与应用!
  • [ 计算机网络 ] 深入理解TCP/IP协议
  • 微软开放代理网络愿景
  • UDP三种通信方式
  • 4-5月份,思科,华为,微软,个别考试战报分享
  • 计算机网络-HTTP与HTTPS
  • 信号波形发生器电路Multisim仿真
  • 深入解析Java微服务架构:Spring Boot与Spring Cloud的整合实践
  • 医学影像辅助诊断系统开发教程-基于tensorflow实现
  • 前端单点登录
  • Spring AI 介绍
  • onlyoffice 源码 调试说明 -ARM和x86双模式安装支持
  • EXCEL在一列数据前统一添加负号
  • 从零开始打造个人主页:HTML/CSS/JS实战教程
  • UEFI Spec 学习笔记---33 - Human Interface Infrastructure Overview---33.2.6 Strings
  • 高等数学基础(牛顿/莱布尼茨公式)
  • Node.js路径处理指南:如何安全获取当前脚本目录路径
  • RK3588 ArmNN CPU/GPU ResNet50 FP32/FP16/INT8 推理测试
  • 2025年渗透测试面试题总结-华顺信安[实习]安全服务工程师(题目+回答)
  • 按键精灵ios/安卓辅助工具高级函数OcrEx文字识别(增强版)脚本开发介绍
  • Unity3D HUD UI性能优化方案
  • 掌握Git:版本控制与高效协作指南
  • VsCode和AI的前端使用体验:分别使用了Copilot、通义灵码、iflyCode和Trae
  • 交叉熵损失函数,KL散度, Focal loss