import java.util.*;
import java.util.Stack;
public class Solution {
// 使用双栈法解决当前问题,一个栈是正常记录,一个记录最小值
Stack<Integer> x = new Stack();
Stack<Integer> y = new Stack();
public void push(int node) {
x.push(node);
if (y.isEmpty() || y.peek() > node){
y.push(node);
} else{
y.push(y.peek());
}
}
public void pop() {
x.pop();
y.pop();
}
public int top() {
return x.peek();
}
public int min() {
return y.peek();
}
}
牛客网:NC90 包含min函数的栈
最新推荐文章于 2025-11-30 18:24:05 发布
这个Java程序定义了一个Solution类,使用两个栈x和y来实现一个具有push、pop、top和min操作的栈。栈x用于正常存储元素,栈y则用于保持当前栈中的最小元素。当新的元素小于或等于y栈顶元素时,y栈会更新其栈顶为新的最小值。这样,min方法始终能快速返回栈中的最小元素。

1231

被折叠的 条评论
为什么被折叠?



