news 2026/5/19 2:47:45

力扣刷题:最小栈

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
力扣刷题:最小栈

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

实现 MinStack 类:

MinStack() 初始化堆栈对象。
void push(int val) 将元素val推入堆栈。
void pop() 删除堆栈顶部的元素。
int top() 获取堆栈顶部的元素。
int getMin() 获取堆栈中的最小元素。

示例 1:

输入:
[“MinStack”,“push”,“push”,“push”,“getMin”,“pop”,“top”,“getMin”]
[[],[-2],[0],[-3],[],[],[],[]]

输出:
[null,null,null,null,-3,null,0,-2]

解释:
MinStack minStack = new MinStack();
minStack.push(-2);
minStack.push(0);
minStack.push(-3);
minStack.getMin(); --> 返回 -3.
minStack.pop();
minStack.top(); --> 返回 0.
minStack.getMin(); --> 返回 -2.

解析:
使用两个栈,一个做为主栈,一个作为辅助栈,辅助栈中每次存放的是主栈中入栈元素的最小值

具体代码:

varMinStack=function(){this.stack=[]this.min_stack=[Infinity]};/** * @param {number} val * @return {void} */MinStack.prototype.push=function(val){this.stack.push(val)this.min_stack.push(Math.min(val,this.min_stack.at(-1)))};/** * @return {void} */MinStack.prototype.pop=function(){this.stack.pop()this.min_stack.pop()};/** * @return {number} */MinStack.prototype.top=function(){returnthis.stack.at(-1)};/** * @return {number} */MinStack.prototype.getMin=function(){returnthis.min_stack.at(-1)};/** * Your MinStack object will be instantiated and called as such: * var obj = new MinStack() * obj.push(val) * obj.pop() * var param_3 = obj.top() * var param_4 = obj.getMin() */
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/5/6 14:23:27

IndexTTS2终极调优指南:释放语音合成全部潜力

IndexTTS2终极调优指南:释放语音合成全部潜力 【免费下载链接】index-tts An Industrial-Level Controllable and Efficient Zero-Shot Text-To-Speech System 项目地址: https://gitcode.com/gh_mirrors/in/index-tts IndexTTS2作为一款工业级可控高效零样本…

作者头像 李华
网站建设 2026/4/29 14:11:30

基于vue和SpringBoot的英语四六级报名与成绩管理系统设计与实现

目录已开发项目效果实现截图开发技术系统开发工具:核心代码参考示例1.建立用户稀疏矩阵,用于用户相似度计算【相似度矩阵】2.计算目标用户与其他用户的相似度系统测试总结源码文档获取/同行可拿货,招校园代理 :文章底部获取博主联系方式&…

作者头像 李华
网站建设 2026/5/11 17:09:54

Nginx入门配置:10分钟搞定Web服务器

Nginx入门配置:10分钟搞定Web服务器 想把网站跑起来?Nginx是最常用的Web服务器,轻量高效。 今天教你快速入门,10分钟搞定基础配置。 安装 Ubuntu/Debian: sudo apt update sudo apt install nginxCentOS: s…

作者头像 李华
网站建设 2026/5/12 6:10:24

快速掌握AGEIPort:企业级数据交换的终极解决方案

快速掌握AGEIPort:企业级数据交换的终极解决方案 【免费下载链接】AGEIPort 项目地址: https://gitcode.com/gh_mirrors/ag/AGEIPort 想要高效处理海量数据导入导出?AGEIPort框架就是你的最佳选择!作为阿里巴巴内部孵化的高性能数据交…

作者头像 李华
网站建设 2026/5/9 19:19:15

litemall开源电商系统:快速搭建多端商城的终极解决方案

litemall开源电商系统:快速搭建多端商城的终极解决方案 【免费下载链接】litemall linlinjava/litemall: LiTmall 是一个基于Spring Boot MyBatis的轻量级Java商城系统,适合中小型电商项目作为基础框架,便于快速搭建电子商务平台。 项目地…

作者头像 李华
网站建设 2026/5/18 16:48:06

计算机毕业设计springboot高校智能排课系统 基于SpringBoot的高校课程智能编排平台 高校教学资源自动化调度系统的设计与实现

计算机毕业设计springboot高校智能排课系统o0fdy267 (配套有源码 程序 mysql数据库 论文) 本套源码可以在文本联xi,先看具体系统功能演示视频领取,可分享源码参考。 高校扩招后,课程门类、教学班型、教室资源呈几何级增长&#xf…

作者头像 李华