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

力扣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(); */
http://www.jsqmd.com/news/182930/

相关文章:

  • 无需3D建模!使用Sonic数字人模型+静态图+音频快速生成说话视频
  • Three.js与Sonic结合?构建3D数字人交互应用新思路
  • 脑机接口控制Sonic数字人?远期设想
  • Sonic数字人眼神跟随功能?注视点模拟实现方式
  • Spring-boot读书笔记一Map-Filter-Reduce
  • Sonic数字人能否模仿明星?法律风险极高请勿尝试
  • Sonic与AR/VR结合?构建三维交互数字人
  • Sonic数字人技术解析:精准唇形对齐与自然表情生成的秘密
  • 《管理英语》期考真题:四大题型(交际/词汇/阅读/翻译)深度解析
  • PHP的Session 劫持的庖丁解牛
  • 体育赛事集锦解说?激情语调匹配动作
  • ComfyUI集成Sonic数字人模型,轻松实现音频驱动说话视频生成
  • Sonic数字人参加TED演讲?模拟舞台表现力
  • Sonic数字人玩王者荣耀?语音+动画同步
  • tinymce3.0下载
  • 线上面试官是Sonic数字人?企业初筛应用
  • Sonic能否部署在云服务器?Docker容器化部署教程
  • HuggingFace镜像网站下载Sonic预训练模型,提速90%
  • 日语配音驱动Sonic数字人?基本可用但略僵硬
  • 电影特效预演使用Sonic?低成本快速出样
  • QGraphicsScene和QGraphicsRectItem和QGraphicsRectItem的rect() 他们的坐标是什么关系
  • Dify平台接入Sonic模型?低代码构建数字人应用可能
  • 人类一眼就能分辨Sonic是AI生成?细节仍有差距
  • C++(1)C++基础
  • 救命神器2025研究生必看TOP10 AI论文写作软件测评
  • Sonic能否集成到Zoom/Teams?远程会议新玩法
  • 粉丝二创受限吗?非商用可宽容对待
  • Sonic数字人出口海外?英文文档已发布
  • Sonic数字人平滑处理技巧:提升视觉自然度的关键一步
  • QGraphicsRectItem的构成