classMinStack{private Stack<int[]> stack;publicMinStack(){
stack =newStack<>();}publicvoidpush(int val){if(stack.isEmpty()) stack.push(newint[]{val,val});else{
stack.push(newint[]{val,Math.min(val, stack.peek()[1])});}}publicvoidpop(){
stack.pop();}publicinttop(){return stack.peek()[0];}publicintgetMin(){return stack.peek()[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();
*/