Files
leetcode/155.min-stack.java
2025-10-29 11:22:06 +08:00

46 lines
813 B
Java

/*
* @lc app=leetcode id=155 lang=java
*
* [155] Min Stack
*/
// @lc code=start
class MinStack {
private PriorityQueue<Integer> pq;
private Deque<Integer> 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();
}
}
/**
* You8r 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