练习题 最小栈

news/2024/12/22 13:53:50/

最小栈
最小栈
在这里插入图片描述

java">class MinStack {private Stack<Integer> stack;private Stack<Integer> minstack;public MinStack() {stack=new Stack<>();minstack=new Stack<>();}public void push(int val) {stack.push(val);if(minstack.empty()){minstack.push(val);}else{  //=要加上,否则stack中此数有多个 出栈时minstack也要出栈 数不够只有一个if(val<=minstack.peek()){minstack.push(val);}}}public void pop() {if(!stack.empty()){int ret=stack.pop();if(minstack.peek()==ret){minstack.pop();}}}//获取正常栈顶元素public int top() {if(stack.empty()){return -1; //oj题中轻易不要抛出异常 直接return-1即可}return stack.peek();}//获取最小栈顶元素public int getMin() {if(minstack.empty()){return -1;}return minstack.peek();}
}

http://www.ppmy.cn/news/1557204.html

相关文章

【C++11】可变模板参数

目录 可变模板的定义方式 参数包的展开方式 递归的方式展开参数包 STL中的emplace相关接口函数 STL容器中emplace相关插入接口函数 ​编辑 模拟实现&#xff1a;emplace接口 C11的新特性可变参数模板能够让您创建可以接受可变参数的函数模板和类模板&#xff0c;相比 C9…

Odoo:免费开源ERP的AI技术赋能出海企业电子商务应用介绍

概述 伴随电子商务的持续演进&#xff0c;客户对于便利性、速度以及个性化服务的期许急剧攀升。企业务必要探寻创新之途径&#xff0c;以强化自身运营&#xff0c;并优化购物体验。达成此目标的最为行之有效的方式之一&#xff0c;便是将 AI 呼叫助手融入您的电子商务平台。我们…

Debian环境安装Docker Engine

Debian环境安装Docker Engine 卸载旧版本使用APT工具安装Docker设置存储库安装Docker设置权限 docker compose命令卸载Docker 卸载旧版本 要卸载的非官方软件包是&#xff1a; docker.iodocker-composedocker-docpodman-docker 此外&#xff0c;Docker Engine 依赖 containe…

.Net Core框架创建一个Windows服务类型的应用程序

在NuGet中的包管理中添加两个包 System.ServiceProcess.ServiceController Microsoft.Extensions.Hosting.WindowsServices 在Program.cs中添加.UseWindowsService()&#xff0c;另外还需要设置管理员身份运行 Program.cs代码如下 public class Program {public static void…

YOLOv8目标检测(七)_AB压力测试

YOLOv8目标检测(一)_检测流程梳理&#xff1a;YOLOv8目标检测(一)_检测流程梳理_yolo检测流程-CSDN博客 YOLOv8目标检测(二)_准备数据集&#xff1a;YOLOv8目标检测(二)_准备数据集_yolov8 数据集准备-CSDN博客 YOLOv8目标检测(三)_训练模型&#xff1a;YOLOv8目标检测(三)_训…

wepack如何进行性能优化

Webpack 是一个模块打包工具&#xff0c;可以将多个模块打包成一个或多个文件。在进行性能优化时&#xff0c;可以从以下几个方面入手&#xff1a; 减少打包文件的体积&#xff1a;可以通过代码压缩、去除无用代码、按需加载等方式来减少打包文件的体积。可以使用 UglifyJSPlug…

基础电路的学习

1、戴维南定理 ①左边的图可简化为一个电阻&#xff0b;一个电压源。② ③电压源可相当于开路。将R2移到左边&#xff0c;R1和R2相当于并联。RR1//R2 Rx和Rt相等时&#xff0c;灵敏度最大&#xff0c;因此使Rt10K。 104电容是0.1uf。 三位数字的前两位数字为标称容量的有效数…

1. JasperSoft介绍与安装

Jaspersoft介绍 Jaspersoft是一款开源的&#xff0c;强大灵活并且使用广泛的报表软件。能够展示丰富的页面内容&#xff0c;并将之转换成PDF、HTML或者XML格式&#xff0c;该库完全由Java写出&#xff0c;可以用于在各种Java应用程序&#xff0c;非常适合Java开发者用来做报表生…