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.mzph.cn/web/80948.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

JVM部分内容

1.JVM内存区域划分 为什么要划分内存区域&#xff0c;JAVA虚拟机是仿照真实的操作系统进行设计的&#xff0c;JVM也就仿照了它的情况&#xff0c;进行了区域划分的设计。 JAVA进程也就是JAVA虚拟机会从操作系统申请内存空间给进程使用&#xff0c;JVM内存空间划分&#xff0c…

os:进程与线程上

os:进程与线程上 理解进程进程的地址空间进程的抽象:进程控制块进程的用户态和内核态五状态进程模型五状态进程模型转化带挂起的进程状态模型进程调度与切换进程调度进程切换理解进程 举个栗子 程序刚开始执行时,PC的值是m,指向代码段的第一条指令。 问题:如果想要重现…

RISC-V 开发板 MUSE Pi Pro CSI测试,一把点亮ov5647摄像头

视频讲解&#xff1a; RISC-V 开发板 MUSE Pi Pro CSI测试&#xff0c;一把点亮ov5647摄像头 手上正好有一颗ov5674&#xff0c;看了下接口排线都是一致的&#xff0c;硬件条件满足的情况下&#xff0c;剩下的就是驱动软件的问题&#xff0c;直接接上CSI排线 https://bianbu-li…

应用案例 | 集成Docker,解锁 HMI/网关的定制化应用

前言 在当今竞争激烈的工业市场中&#xff0c;企业对于工业自动化系统的个性化需求日益增长。无论是提升生产效率、优化设备管理&#xff0c;还是实现智能化的生产监控&#xff0c;企业都希望拥有能够精准匹配自身业务流程的定制化解决方案。然而&#xff0c;传统HMI/网关设备…

【VLNs篇】03:VLMnav-端到端导航与视觉语言模型:将空间推理转化为问答

栏目内容论文标题End-to-End Navigation with Vision-Language Models: Transforming Spatial Reasoning into Question-Answering (端到端导航与视觉语言模型&#xff1a;将空间推理转化为问答)核心问题如何利用大型视觉语言模型&#xff08;VLM&#xff09;实现端到端的机器人…

剧本杀小程序:指尖上的沉浸式推理宇宙

在推理热潮席卷社交圈的当下&#xff0c;你是否渴望随时随地开启一场烧脑又刺激的冒险&#xff1f;我们的剧本杀小程序&#xff0c;就是你掌心的“推理魔法盒”&#xff0c;一键解锁无限精彩&#xff01; 海量剧本库&#xff0c;满足多元口味&#xff1a;小程序汇聚了从古风权…

[Vue]路径跳转和路由高级设置

路由基础使用看另一篇文章:路由基础使用和路径传参 基本属性 path: /, //主路径&#xff0c;也就是路由路径 alias: [/myfarie], //路径别名&#xff0c;即访问该路径时&#xff0c;也会访问到该资源 name:farie //设置名字&#xff0c;占位符传参时需要使用 component:()>…

LeetCode 76题「最小覆盖子串」

LeetCode 76题「最小覆盖子串」是一道经典的滑动窗口算法题目&#xff0c;难度为困难。题目要求在给定的字符串 s 中找到包含字符串 t 所有字符的最小子串&#xff0c;若不存在则返回空字符串。 题目分析 输入&#xff1a;字符串 s 和 t&#xff08;均由英文字母组成&#xf…

JMeter-Websocket接口自动化

JMeter-Websocket接口自动化 结构图 1.准备2.实现思路2.1 通过HTTP请求获取token2.2 设置循环控制、断言变量2.3 建立WebSocket连接2.4 设置While循环控制读取CSV文件数据2.4.1 csv文件设置&#xff0c;一般这样设置参数即可变量名称&#xff1a;message,expected_steps 2.5 设…

大模型在闭合性胫骨平台骨折诊疗全流程中的应用研究报告

目录 一、引言 1.1 研究背景与目的 1.2 国内外研究现状 1.3 研究方法与创新点 二、大模型预测原理及数据基础 2.1 大模型概述 2.2 数据收集与处理 2.3 模型训练与优化 三、术前预测与方案制定 3.1 骨折类型及损伤程度预测 3.2 手术时机评估 3.3 手术方案制定 3.4 …

Dify大语言模型应用开发环境搭建:打造个性化本地LLM应用开发工作台

文章目录 前言1. Docker部署Dify2. 本地访问Dify3. Ubuntu安装Cpolar4. 配置公网地址5. 远程访问6. 固定Cpolar公网地址7. 固定地址访问 前言 各位小伙伴们&#xff0c;大家好&#xff01;今天我们要来一场技术大冒险&#xff0c;手把手教你如何在Linux Ubuntu系统上使用Docke…

【MySQL成神之路】MySQL插入、删除、更新操作汇总

MySQL 插入、删除和更新操作详解 一、插入数据(INSERT) 1. 基本插入语法 2. 插入多行数据 3. 从其他表插入数据 4. 插入NULL值和默认值 二、更新数据(UPDATE) 1. 基本更新语法 2. 使用子查询更新 3. 批量更新注意事项 三、删除数据(DELETE) 1. 基本删除语法 2. 清空…

亚马逊第四个机器人中心将如何降低30%配送成本?

近年来&#xff0c;亚马逊越来越依赖自动化技术来提升仓储效率和配送速度。2024年&#xff0c;亚马逊宣布其全球第四个机器人中心在美国正式投入运营&#xff0c;这一中心将成为改变供应链策略的新变量。据亚马逊官方消息&#xff0c;这一机器人中心有望帮助公司进一步削减运营…

MongoDB大数据量的优化——mongoTemplate.stream()方法使用

传统查询 在传统的 MongoDB 查询中&#xff0c;我们通常使用find方法&#xff1a; List<Document> results mongoTemplate.find(query, Document.class, "collection");这种方式会直接将查询结果全部加载到内存中&#xff0c;当数据量较大&#xff08;如百万…

JDK8中的 Stream流式编程用法优化(工具类在文章最后)

Java从JDK8起提供了Stream流这个功能&#xff0c;于是项目里出现了大量基于Stream流的写法。随着项目的进行&#xff0c;慢慢的代码中铺天盖地的都是下面的写法&#xff1a; List<User> userList null;if (condition) {userList new ArrayList<>();userList.add(…

Spring Cloud生态与技术选型指南:如何构建高可用的微服务系统?

引言&#xff1a;为什么选择Spring Cloud&#xff1f; 作为全球开发者首选的微服务框架&#xff0c;Spring Cloud凭借其开箱即用的组件、与Spring Boot的无缝集成&#xff0c;以及活跃的社区生态&#xff0c;成为企业级微服务架构的基石。但在实际项目中&#xff0c;如何从众多…

Android清单文件

清单文件AndroidManifest.xml AndroidManifest.xml 配置清单文件是 每个 Android 应用的配置中心&#xff0c;系统在安装和运行应用时&#xff0c;首先会读取它。 它是 Android 应用的 “说明书”&#xff0c;主要作用是&#xff1a; 功能说明声明应用组件比如 Activity、Se…

大语言模型与人工智能:技术演进、生态重构与未来挑战

目录 技术演进:从专用AI到通用智能的跃迁核心能力:LLM如何重构AI技术栈应用场景:垂直领域的技术革命生态关系:LLM与AI技术矩阵的协同演进挑战局限:智能天花板与伦理困境未来趋势:从语言理解到世界模型1. 技术演进:从专用AI到通用智能的跃迁 1.1 三次技术浪潮的跨越 #me…

SC3000智能相机-自动存图

1、需求:SC3000智能相机开机自动存图。相机自带的相机存储空间有限,预留存图需要开启SCMVS、并手动点存图。如果工人忘了开启则不会存图,导致生产严重失误! 2、方法:利用相机提供的FTP协议,将图自动存到本地。 1、在本地建立FTP服务器。 (1)win10默认开启了FTP服务器…

Wan2.1 文生视频 支持批量生成、参数化配置和多语言提示词管理

Wan2.1 文生视频 支持批量生成、参数化配置和多语言提示词管理 flyfish 设计 一个基于 Wan2.1 文本到视频模型的自动化视频生成系统。 文件关系图 script.py ├── 读取 → config.json │ ├── 模型配置 → 加载AI模型 │ ├── 生成参数 → 控制生成质量 │ └…