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

70.最小栈

155. 最小栈
 
已解答

实现 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.

【思路】

用Deque实现辅助栈和最小栈,辅助栈xStack正常记录入栈元素;最小栈minStack当前元素入站时的最小值,所以栈顶一直是最小值      

【注意】minStack.push(Integer.MAX_VALUE);  // 最小栈栈底存入最大值

class MinStack {Deque<Integer> minStack = new LinkedList<>();  // 记录当前入栈元素最小值Deque<Integer> xStack = new LinkedList<>();    // 辅助栈public MinStack() {this.minStack = minStack;this.xStack = xStack;minStack.push(Integer.MAX_VALUE);      // 最小栈栈底存入最大值   
    }public void push(int val) {xStack.push(val);minStack.push(Math.min(minStack.peek(),val));    // minStack 加入当前最小值,所以栈顶一直是最小值        
    }public void pop() {xStack.pop();minStack.pop();        }public int top() {return xStack.peek();        }public int getMin() {return minStack.peek();}
}

 

155. 最小栈
 
已解答
中等
 
相关标签
premium lock icon相关企业
 
提示
 

设计一个支持 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.
http://www.jsqmd.com/news/349923/

相关文章:

  • 2026最新SATA连接器/音频连接器/轻触开关/Micro连接器/微动开关编码器推荐!国内优质精密连接器权威榜单发布,助力多场景智能互联 - 品牌推荐2026
  • YOLOv11 改进 - 注意力机制 Mask Attention掩码注意力,专门为低分辨率图像分割设计,高效捕捉全局关联 2025 预印
  • ‌线上研讨会主持:测试主题演讲的筹备与执行
  • 梯度投影法(GPSR)MATLAB源代码实现与解析
  • 公众号排版工具测评:多款对比后,发现一款AI微信编辑器神器,让我排版提效80% - peipei33
  • 2026年江苏常州汽车发动机维修服务排名发布,这些品牌口碑超棒 - 工业推荐榜
  • Linux 配置 acmd.sh 自动申请并部署SSL证书
  • 2026年深度剖析:邵氏硬度计检定装置选购要点与实用建议 - 品牌推荐大师
  • 龙骨
  • 2026年选购PE板,沧州盛亮作为低价优质厂家,质量有保障吗? - 工业品网
  • 一个 PhD 学生的两周 Agentic Workflow 压力测试报告
  • 2026年涂塑钢管推荐制造商选购指南,靠谱的有哪些 - myqiye
  • YOLOv11 改进 - 注意力机制 DiffAttention差分注意力:轻量级差分计算实现高效特征降噪,提升模型抗干扰能力
  • 2026最新DC插座推荐!国内优质DC插座权威榜单发布,适配多场景助力智能设备稳定运行DC插座推荐 - 品牌推荐2026
  • 2026最新实木板十大品牌推荐!环保品质双优源头厂家助力高品质家装 - 品牌推荐2026
  • YOLOv11 改进 - C2PSA C2PSA融合Mask Attention掩码注意力,可学习掩码矩阵破解低分辨率特征提取难题 2025 预印
  • YOLOv11 改进 - 基础知识 YOLOv11 Conv模块超详细解析:从源码实现到BNSiLU原理(初学者友好版)
  • YOLOv11 改进 - 主干网络 集成Mamba-YOLO(AAAI 2025),Mamba-YOLOv11-B替换骨干,破解全局依赖建模难题,实现高效实时检测
  • 联合创作策略:与开发者KOL合作扩大软件测试影响力
  • DirectX下载安装图解指南:彻底解决游戏闪退与DLL缺失问题(2026最新版) - xiema
  • CentOS图形化操作界面:理论解析与实践指南
  • 2025-2026年装配式整体卫浴/厨房怎么选?这份企业推荐指南请收好 - 匠言榜单
  • YOLOv11 改进 - C2PSA C2PSA融合Mona多认知视觉适配器(CVPR 2025):打破全参数微调的性能枷锁:即插即用的提点神器,引领视觉微调新突破
  • ‌经济波动下的副业安全网:测试技能多元化应用
  • 电池认证新方案:IACheck提升电池PSE认证质量
  • 2026最新SATA连接器推荐!国内优质SATA连接器权威榜单发布,资质服务双优助力多场景稳定连接SATA连接器推荐 - 品牌推荐2026
  • 2026噪音治理公司哪家强?四川三元覆盖工业与民生降噪场景 - 深度智识库
  • HGDB创建大写的表名
  • 收藏!程序员必看:社会的本质是竞争,大模型才是普通人的破局之路
  • 【论文技巧】挑战极限:实测“快降重”如何将高AI率综述文献8分钟“脱胎换骨”