class MinStack {
Deque <Integer> min;
Deque <Integer> norm;
/** initialize your data structure here. */
public MinStack() {
min = new ArrayDeque<>();
norm = new ArrayDeque<>();
}
public void push(int x) {
norm.addLast(x);
if (min.isEmpty()){
min.addLast(x);
} else {
min.addLast(Math.min(min.peekLast(),x));
}
}
public void pop() {
norm.removeLast();
min.removeLast();
}
public int top() {
return norm.peekLast();
}
public int getMin() {
return min.peekLast();
}
}