LeetCode(52)最小棧【棧】【中等】

在這里插入圖片描述

目錄

    • 1.題目
    • 2.答案
    • 3.提交結果截圖

鏈接: 最小棧

1.題目

設計一個支持 pushpoptop 操作,并能在常數時間內檢索到最小元素的棧。

實現 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.

提示:

  • -2^31 <= val <= 2^31 - 1
  • poptopgetMin 操作總是在 非空棧 上調用
  • push, pop, top, and getMin最多被調用 3 * 10^4

2.答案

class MinStack {/*** 存儲棧*/private Stack<Integer> stack = new Stack<>();/*** 最小值棧(只記錄對應最小值)*/private List<Integer> list = new ArrayList<>();public MinStack() {}public void push(int val) {stack.push(val);if (list.isEmpty() || list.get(list.size() - 1) > val) {list.add(val);} else {list.add(list.get(list.size() - 1));}}public void pop() {stack.pop();if (list.size() > 0) {list.remove(list.size() - 1);}}public int top() {return stack.peek();}public int getMin() {return list.get(list.size() - 1);}
}/*** 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();*/

3.提交結果截圖

在這里插入圖片描述

整理完畢,完結撒花~ 🌻

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/209071.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/209071.shtml
英文地址,請注明出處:http://en.pswp.cn/news/209071.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

區分工業設計軟件中CAD、CAE、CAM、PDM等概念

工業設計軟件是專門用于輔助工業設計師在產品設計和開發過程中進行各種任務的計算機程序。這些軟件提供了廣泛的工具和功能&#xff0c;幫助設計師創建、分析、修改和可視化產品的概念和詳細設計。 CAD 計算機輔助設計&#xff08;Computer-Aided Design&#xff0c;CAD&…

15、SQL注入——Sqlmap

文章目錄 一、Sqlmap簡介1.1 sqlmap可以對URL干嘛&#xff1f;1.2 Sqlmap支持的注入技術1.3 SQLmap檢測注入漏洞的流程1.4 Sqlmap的誤報檢測機制 二、sqlmap基本使用 一、Sqlmap簡介 sqlmap使用教程 1.1 sqlmap可以對URL干嘛&#xff1f; 判斷可注入的參數判斷可以使用哪一種…

汽車電子智能保險絲解決方案

一、背景知識 在過去的幾十年里&#xff0c;電子在汽車系統創新中發揮了關鍵作用。新型半導體器件具有新穎的功能&#xff0c;增強了車輛機械系統提供的功能。 雖然半導體解決方案和電子產品將繼續在汽車電子產品中發揮關鍵作用&#xff0c;但展望未來&#xff0c;汽車創新將…

css順時針旋轉90°再3D中繞Y軸旋轉180°

CSS 順時針旋轉 90 再 3D 中繞 Y 軸旋轉 180 的示例代碼如下&#xff1a; div {transform: rotate(90deg) perspective(500px) rotateY(180deg); }在這個示例中&#xff0c;元素被先進行了 2D 順時針旋轉 90&#xff0c;然后設置了 perspective 屬性來定義元素的視角距離&…

UE4 材質實現Glitch效果

材質實現Glitch效果 UE4 材質實現Glitch效果預覽1預覽2 UE4 材質實現Glitch效果 預覽1 添加材質函數&#xff1a; MF_RandomNoise 添加材質&#xff1a; 預覽2 添加材質函數MF_CustomPanner&#xff1a; 添加材質函數&#xff1a;MF_Glitch 材質添加&#xff1a; 下面用…

Docker 部署 2FAuth 服務

拉取最新版本的 2FAuth 鏡像&#xff1a; $ sudo docker pull 2fauth/2fauth:latest在本地預先創建好 2fauth 目錄, 用于映射 2FAuth 容器內的 /2fauth 目錄。 使用以下命令, 在 前臺 運行 2FAuth 容器: $ sudo docker run -it --rm --name 2fauth -p 10085:8000/tcp -v /ho…

3D材質編輯:制作被火燒的木頭

在線工具推薦&#xff1a; 3D數字孿生場景編輯器 - GLTF/GLB材質紋理編輯器 - 3D模型在線轉換 - Three.js AI自動紋理開發包 - YOLO 虛幻合成數據生成器 - 三維模型預覽圖生成器 - 3D模型語義搜索引擎 當談到游戲角色的3D模型風格時&#xff0c;有幾種不同的風格&#xf…

css實現頭部占一定高度,內容區占剩余高度可滾動

上下布局&#xff1a; <div class"container"><header class"header">頭部內容</header><div class"content">內容區域</div> </div>.container {display: flex;flex-direction: column;height: 100vh; /*…

SQL Server 2017數據庫window server服務器改名操作

在window服務器修改機器名重新加域后&#xff0c;需要執行下面的SQL語句修改數據庫里面記錄的機器名字&#xff0c;才能在修改后通過新名字連接數據庫。 if serverproperty(servername) <> servername begin declare server sysname set server ser…

53. Protocol buffer 的Go使用

文章目錄 一、介紹二、安裝三、protoc3語法1、 protoc3 與 protoc2區別2、proto3生成go代碼包Message內嵌Message字段單一標量字段單一message字段可重復字段slicemap字段枚舉 一、介紹 Protobuf是Google旗下的一款平臺無關&#xff0c;語言無關&#xff0c;可擴展的序列化結構…

AWS KeyPair密鑰格式轉換PPK<>PEM

概述說明 PEM&#xff08;Privacy Enhanced Mail&#xff09;和PPK&#xff08;Putty Private Key&#xff09;都是與加密和安全相關的文件格式&#xff0c;通常用于存儲私鑰信息。它們在不同的上下文中使用&#xff0c;并且與不同的軟件和協議相關聯。 PEM&#xff08;Priva…

【kubernetes】k3s集群搭建(正在更新……)

文章目錄 一、k3s簡介二、快速搭建1.控制平面2.鏡像加速 Pod容器集1.創建和管理pod Deployment(部署)與ReplicaSet(副本集)滾動更新 Service命名空間YAML語法管理對象常用命令縮寫YAML規范 聲明式配置對象標簽選擇器 容器運行時接口(CRI)與鏡像導入導出容器運行時接口(CRI) 金絲…

基于POSIX標準的Linux進程間通信

文章目錄 1 管道&#xff08;匿名管道&#xff09;1.1 管道抽象1.2 接口——pipe1.3 管道的特征1.4 管道的四種情況1.5 匿名管道用例 2 命名管道2.1 創建一個命名管道——mkfifo2.2 關閉一個管道文件——unlink2.3 管道和命名管道的補充2.4 命名管道用例 3 共享內存3.1 原理3.2…

案例二:SQL Server數據庫的備份和還原

1、備份類型。 在 SQL Server 中提供了三種常用的備份類型&#xff0c;分別是完整備份&#xff0e;差異備份和事務日志備份。 完整備份&#xff1a; 完整備份包括對整個數據庫、部分事務日志、數據庫結構和文件結構的備份。完整備份代表的是備份完成時刻的數據庫。 完整備份是…

【Hydro】Python繪制降雨徑流雙Y軸成果圖

目錄 說明源代碼說明 雙y軸圖像具有單y軸圖像沒有的對比效果,通常會用來繪制降雨徑流成果圖,在MATLAB中有plotyy函數可以實現,Python的實現方式沒有MATLAB那樣方便,不過實現效果卻也不見得差。 Python中的matplotlib通常使用twinx來生成雙Y軸,下圖便是使用matplotlib繪制…

8、操作符重載

友元 可以通過friend關鍵字&#xff0c;把一個全局函數、另一個類的成員函數或者另一個類整體&#xff0c;聲明為授權類的友元友元擁有訪問授權類任何非公有成員的特權友元聲明可以出現在授權類的公有、私有或者保護等任何區域且不受訪問控制限定符的約束友元不是成員&#xf…

elment-table設置el-table-column的label里面的文字換行居中顯示

效果圖如下&#xff1a; 直接上代碼&#xff1a; <el-table class"ut-mt-2" row-key"company" default-expand-all:data"stateQuery.data" style"width: 100%":tree-props"{ children: departList, hasChildren: hasChildre…

Si24R03—低功耗 SOC 芯片(集成RISC-V內核+2.4GHz無線收發器)

Si24R03是一款高度集成的低功耗SOC芯片&#xff0c;其集成了基于RISC-V核的低功耗MCU和工作在2.4GHz ISM頻段的無線收發器模塊。 MCU模塊具有低功耗、Low Pin Count、寬電壓工作范圍&#xff0c;集成了13/14/15/16位精度的ADC、LVD、UART、SPI、I2C、TIMER、WUP、IWDG、RTC等豐…

PandoraFMS 監控軟件 任意文件上傳漏洞復現

0x01 產品簡介 Pandora FMS 是用于監控計算機網絡的軟件。 Pandora FMS 允許以可視化方式監控來自不同操作系統、服務器、應用程序和硬件系統(例如防火墻、代理、數據庫、Web 服務器或路由器)的多個參數的狀態和性能。 0x02 漏洞概述 PandoraFMS upload_head_image.php 接…