news 2026/3/19 19:51:52

力扣hot100:最小栈的实现

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
力扣hot100:最小栈的实现

题目描述:

解题思路:


实现最小栈需要借用一个辅助栈 min_stack,用于存获取 stack 中最小值。

算法流程:

push() 方法: 每当push()新值进来时,如果 小于等于 min_stack 栈顶值,则一起 push() 到 min_stack,即更新了栈顶最小值;
pop() 方法: 判断将 pop() 出去的元素值是否是 min_stack 栈顶元素值(即最小值),如果是则将 min_stack 栈顶元素一起 pop(),这样可以保证 min_stack 栈顶元素始终是 stack 中的最小值。
getMin()方法: 返回 min_stack 栈顶即可。
min_stack 作用分析:

min_stack 等价于遍历 stack所有元素,把升序的数字都删除掉,留下一个从栈底到栈顶降序的栈。
相当于给 stack 中的降序元素做了标记,每当 pop() 这些降序元素,min_stack 会将相应的栈顶元素 pop() 出去,保证其栈顶元素始终是 stack 中的最小元素。

代码:

class MinStack { private Stack<Integer> stack; private Stack<Integer> min_stack; public MinStack() { stack=new Stack<>(); min_stack=new Stack<>(); } public void push(int val) { stack.push(val); if(min_stack.isEmpty()||val<=min_stack.peek()){ min_stack.push(val); } } public void pop() { if(stack.pop().equals(min_stack.peek())){ min_stack.pop(); } } public int top() { return stack.peek(); } public int getMin() { return min_stack.peek(); } } /** * Your MinStack object will be instantiated and called as such: * MinStack obj = new MinStack(); * obj.push(val); * obj.pop(); * int param_3 = obj.top(); * int param_4 = obj.getMin(); */
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/3/18 2:44:33

Markdown编辑器记录Sonic实验日志,提升开发效率

Sonic 数字人实验日志&#xff1a;从音频到表情的自动化生成实践 在虚拟主播、在线教育和短视频内容爆炸式增长的今天&#xff0c;如何快速制作一个“会说话”的数字人视频&#xff0c;成了许多开发者与创作者面临的共同课题。过去&#xff0c;这需要动辄数万元的3D建模、动作捕…

作者头像 李华
网站建设 2026/3/13 2:15:26

救命神器2025研究生必看TOP10 AI论文写作软件测评

救命神器2025研究生必看TOP10 AI论文写作软件测评 2025年研究生AI论文写作工具测评&#xff1a;为何需要这份榜单&#xff1f; 随着人工智能技术的不断进步&#xff0c;AI论文写作工具已成为研究生科研过程中不可或缺的助手。然而&#xff0c;面对市场上琳琅满目的产品&#xf…

作者头像 李华
网站建设 2026/3/13 14:20:14

广告创意测试阶段用Sonic替代演员?节省预算

广告创意测试阶段用Sonic替代演员&#xff1f;节省预算 在广告行业&#xff0c;一个新产品的推广方案从构想到落地&#xff0c;往往要经历无数次的试错。市场团队反复打磨脚本、调整语气、测试不同情绪表达对用户点击率的影响——但每一次修改都意味着重新召集演员、安排拍摄档…

作者头像 李华
网站建设 2026/3/19 13:07:03

追星族自制偶像数字人?版权警告请注意

追星族自制偶像数字人&#xff1f;版权警告请注意 在短视频与直播内容爆炸式增长的今天&#xff0c;一个普通人只需一张照片和一段录音&#xff0c;就能让“偶像”开口说话——这不是科幻&#xff0c;而是当下正悄然发生的现实。腾讯与浙江大学联合推出的 Sonic 模型&#xff0…

作者头像 李华
网站建设 2026/3/19 0:41:35

用Python脚本自动化调用Sonic生成每日播报视频

用Python脚本自动化调用Sonic生成每日播报视频 在新闻资讯、企业运营和在线教育等领域&#xff0c;每天都有大量需要“开口说话”的内容等待呈现。传统做法是安排真人录制或委托团队剪辑制作——耗时、费力、成本高。而如今&#xff0c;一张静态头像加上一段语音文件&#xff0…

作者头像 李华
网站建设 2026/3/15 12:26:12

Sonic能否被微调训练?目前不开放训练代码

Sonic能否被微调训练&#xff1f;目前不开放训练代码 在虚拟内容爆发式增长的今天&#xff0c;人们对数字人的期待早已从“能动”转向“自然、个性、即用”。无论是品牌打造虚拟代言人&#xff0c;还是教育机构定制专属讲师形象&#xff0c;市场对低成本、高质量、快速生成的说…

作者头像 李华