leetcode hot 100 -最小栈

embedded/2025/1/18 22:30:18/

设计一个支持 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.
java">class MinStack {private final Deque<int[]> st = new ArrayDeque<>();public MinStack() {st.push(new int[]{Integer.MAX_VALUE, Integer.MAX_VALUE});}public void push(int val) {st.push(new int []{val,Math.min(val,getMin())});}public void pop() {st.pop();}public int top() {return st.peek()[0];}public int getMin() {return st.peek()[1];}
}


http://www.ppmy.cn/embedded/155062.html

相关文章

紫光无人机AI飞控平台介绍

随着无人机技术的迅猛发展&#xff0c;无人机飞控平台的智能化需求不断提升。紫光无人机AI飞控平台作为一款创新型产品&#xff0c;为用户提供了从飞行控制到任务管理的一站式解决方案&#xff0c;尤其在AI实时识别和事件分析方面具有显著优势。本文将介绍平台的核心功能、技术…

vue3 移动端h5 加载高德地图 封装地图组件

效果展示&#xff1a; 准备工作&#xff1a; 首先&#xff0c;需要注册成为高德开放平台的开发者&#xff0c;并申请 Web 平台&#xff08;JS API&#xff09;的 key 和安全密钥&#xff08;在 2021 年 12 月 2 日之后申请的 key 需要配合安全密钥一起使用&#xff09; https…

OpenWrt 中使用 LuCI 界面部署 Docker 镜像

本篇博客将介绍如何在 OpenWrt 上使用 LuCI 部署 Docker 镜像&#xff0c;以 "hello-world" 镜像为例。 前提条件 已安装支持 Docker 的 OpenWrt 系统。 Docker 服务已在 OpenWrt 上成功安装并运行。 LuCI Docker 插件&#xff08;luci-app-docker 或类似的管理界…

PyTorch和 torchvision 和torch 和cu1版本不匹配

这个有用&#xff1a;pip install torch torchvision --index-url https://download.pytorch.org/whl/cu118

Swift语言的多线程编程

Swift语言的多线程编程 在现代软件开发中&#xff0c;多线程编程是提高应用性能和响应速度的重要手段。尤其是在 iOS 和 macOS 开发中&#xff0c;由于用户界面(UI)的交互性和复杂性&#xff0c;合理利用多线程可以极大地提升用户体验。本文将深入探讨 Swift 语言中的多线程编…

Opencv之模板匹配可视化

模板匹配 目录 模板匹配1 概念函数理解1.1 概念1.2 步骤1.3 函数 2 实际测试2.1 图片数据2.2 代码测试 1 概念函数理解 1.1 概念 模板匹配是一种在较大图像中寻找与给定模板图像最相似区域的技术。它是图像处理和计算机视觉中的一个基本任务&#xff0c;广泛应用于各种领域&am…

JAVA EE与Spring的关系

最近在阅读一些从岁数很大却依然活跃在开源世界的项目&#xff0c;发现其开放接口采用JAVA EE&#xff08;Jakarta EE&#xff09;提供的标准用于构建 REST API&#xff0c;例如 Path, QueryParam, PathParam, GET, Suspended 等。 而目前主流开发中利用Spring框架已是家常便饭…

C语言的循环实现

C语言的循环实现 在编程语言中&#xff0c;循环结构是一种至关重要的控制结构&#xff0c;它允许程序员重复执行一段代码&#xff0c;以便处理大批量的数据、实现某种逻辑或完成其他复杂的任务。在C语言中&#xff0c;循环主要有三种形式&#xff1a;for循环、while循环和do w…