From c41c6403ff93445a739ba5bd47f3759d5cb526aa Mon Sep 17 00:00:00 2001 From: wu xiangkai Date: Wed, 29 Oct 2025 11:14:12 +0800 Subject: [PATCH] =?UTF-8?q?feat:=202025-10-29=E6=89=93=E5=8D=A1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- 155.min-stack.java | 45 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 45 insertions(+) create mode 100644 155.min-stack.java diff --git a/155.min-stack.java b/155.min-stack.java new file mode 100644 index 0000000..8b1fa4a --- /dev/null +++ b/155.min-stack.java @@ -0,0 +1,45 @@ +/* + * @lc app=leetcode id=155 lang=java + * + * [155] Min Stack + */ + +// @lc code=start +class MinStack { + private PriorityQueue pq; + private Deque deque; + + public MinStack() { + pq = new PriorityQueue<>(); + deque = new ArrayDeque<>(); + } + + public void push(int val) { + pq.add(val); + deque.addLast(val); + } + + public void pop() { + int v = deque.removeLast(); + pq.remove(v); + } + + public int top() { + return deque.peekLast(); + } + + public int getMin() { + return pq.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(); + */ +// @lc code=end +