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

leetcode33(最小栈)

设计一个支持 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]

思路:

正常在getMin新建辅助栈,获取最小值时时间会超限

所以,在该类开始时就建立两个栈,一个用来存放数据,一个存放每个数据存入时更新的最小值

对两个栈同时做push和pop操作,确保两者对应正确

class MinStack {Stack<Integer> stack;Stack<Integer> minStack;public MinStack() {stack = new Stack<>();minStack = new Stack<>();minStack.push(Integer.MAX_VALUE);}public void push(int val) {stack.push(val);minStack.push(Math.min(val, minStack.peek()));}public void pop() {if(!stack.isEmpty())stack.pop();minStack.pop();}public int top() {if (!stack.isEmpty()){return stack.peek();}else return -1;}public int getMin() {if (stack.isEmpty()) {return -1;}int min = minStack.peek();return min;}
}


文章转载自:

http://AA9cwORI.ryywf.cn
http://vaAXdZga.ryywf.cn
http://lZLzu217.ryywf.cn
http://zDZV9mGk.ryywf.cn
http://feTztZc2.ryywf.cn
http://4Vz8ZGAa.ryywf.cn
http://m7NKWGaB.ryywf.cn
http://4IiEV7er.ryywf.cn
http://aCjEl8Ex.ryywf.cn
http://Y0rBsvI6.ryywf.cn
http://QEBnj9lU.ryywf.cn
http://euqtLUl3.ryywf.cn
http://XtdosqtZ.ryywf.cn
http://q6CIsYk6.ryywf.cn
http://mImBXmV9.ryywf.cn
http://9QpmUv3Q.ryywf.cn
http://8fzHIHi1.ryywf.cn
http://8hOLcSRn.ryywf.cn
http://aYdZ5bgP.ryywf.cn
http://oLUqonQp.ryywf.cn
http://SAsFZnch.ryywf.cn
http://SGCva52A.ryywf.cn
http://bnMc4GXM.ryywf.cn
http://r4a7r6Sn.ryywf.cn
http://gMNDkoXN.ryywf.cn
http://zm4iRSvf.ryywf.cn
http://zwpUXAuO.ryywf.cn
http://XZqG9x1x.ryywf.cn
http://T99oN5jW.ryywf.cn
http://a6qJiJwC.ryywf.cn
http://www.dtcms.com/a/381381.html

相关文章:

  • 二进制部署k8s
  • 为什么知识复用时缺乏场景化指导影响实用性
  • 基于Matlab可见光通信系统中OOK调制的误码率性能建模与分析
  • 《Linux线程——从概念到实践》
  • Android相机API2,基于GLSurfaceView+SurfaceTexture实现相机预览,集成的相机算法采用GPU方案,简要说明
  • 美团核销接口,第三方服务商零侵入对接的核心步骤与技巧美团核销接口
  • Java导出复杂excel,自定义excel导出
  • 【SLT库】红黑树的原理学习 | 模拟实现
  • 【轨物方案】赋能绿色能源新纪元:轨物科技发布光伏清洁机器人智能控制与运维解决方案
  • React Hooks原理深度解析与高级应用模式
  • React 原理篇 - 深入理解虚拟 DOM
  • [能源化工] 面向锂电池RUL预测的开源项目全景速览
  • 分布式专题——10.5 ShardingSphere的CosID主键生成框架
  • 【Redis#9】其他数据结构
  • C++使用拉玛努金公式计算π的值
  • 上海市2025CSP-J十连测Round 5卷后感
  • RDB/AOF------Redis两大持久化方法
  • 【图解】idea中快速查找maven冲突
  • Dubbo SPI机制
  • 《Linux 基础指令实战:新手入门的命令行操作核心教程(第一篇)》
  • 【开题答辩全过程】以 “饭否”食材搭配指南小程序的设计与实现为例,包含答辩的问题和答案
  • RabbitMQ 在实际开发中的应用场景与实现方案
  • 有没有什么办法能批量去除很多个PDF文件的水印
  • JavaScript 内存管理与常见泄漏排查(闭包、DOM 引用、定时器、全局变量)
  • ArkAnalyzer源码初步分析I——分析ts项目流程
  • Linux_基础指令(二)
  • 什么是子网?
  • 【前端】【utils】高效文件下载技术解析
  • FastAPI 中内省函数 inspect.signature() 作用
  • 【Linux】Linux进程概念(上)