news 2026/4/18 9:57:30

力扣刷题:最小栈

作者头像

张小明

前端开发工程师

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/4/18 9:43:51

TikTokDownload终极指南:一键下载抖音无水印视频的完整教程

TikTokDownload终极指南:一键下载抖音无水印视频的完整教程 【免费下载链接】TikTokDownload 抖音去水印批量下载用户主页作品、喜欢、收藏、图文、音频 项目地址: https://gitcode.com/gh_mirrors/ti/TikTokDownload 还在为喜欢的抖音视频无法保存而烦恼吗&…

作者头像 李华
网站建设 2026/4/17 13:36:01

Taiga项目管理工具:重新定义团队协作效率

Taiga项目管理工具:重新定义团队协作效率 【免费下载链接】taiga Taiga is a free and open-source project management for cross-functional agile teams. 项目地址: https://gitcode.com/gh_mirrors/taig/taiga 你是否曾经在项目管理中遇到过这样的困境&a…

作者头像 李华
网站建设 2026/4/18 10:34:29

Subfinder:跨平台字幕搜索与下载解决方案

Subfinder:跨平台字幕搜索与下载解决方案 【免费下载链接】subfinder 字幕查找器 项目地址: https://gitcode.com/gh_mirrors/subfi/subfinder Subfinder作为一款专业的字幕搜索工具,通过整合多个主流字幕平台的资源,为用户提供高效的…

作者头像 李华
网站建设 2026/4/18 12:06:51

新能源知识库(163)马斯克的太空储能方案

马斯克的太空储能方案,本质上是他地面成熟的能源技术向太空场景的“垂直迁移”与“极限适配”。他的核心思路可以概括为四个字:第一性原理。他不依赖传统的航天定制思维,而是思考建立一个大规模太空能源系统所需的最基本要素,然后…

作者头像 李华
网站建设 2026/4/17 19:29:26

EmotiVoice支持的采样率与比特深度配置说明

EmotiVoice中的采样率与比特深度配置解析 在语音合成技术日益渗透到数字人、虚拟偶像、智能助手等前沿应用的今天,用户对“像人一样说话”的期待早已超越了基本的可懂度,转向更深层次的情感表达和音色真实感。开源高表现力TTS引擎 EmotiVoice 正是在这一…

作者头像 李华
网站建设 2026/4/18 0:49:43

Grafana中文版完全攻略:零基础快速搭建专业数据监控平台

Grafana中文版完全攻略:零基础快速搭建专业数据监控平台 【免费下载链接】grafana-chinese grafana中文版本 项目地址: https://gitcode.com/gh_mirrors/gr/grafana-chinese Grafana中文版是基于官方源码深度优化的专业数据可视化工具,专为中文用…

作者头像 李华