import java.util.*; import java.util.Stack; public class Solution { HashMap<Integer, Integer> map; Stack<Integer> stack; Stack<Integer> stack2; int minValue; public Solution() { this.map = new HashMap<>(); this.stack = new Stack<>(); this.stack2 = new Stack<>(); this.minValue = Integer.MAX_VALUE; } public void push(int node) { stack.push(node); if (stack2.isEmpty() || node <= stack2.peek()) { stack2.push(node); } else { stack2.push(stack2.peek()); } } public void pop() { stack.pop(); stack2.pop(); } public int top() { return stack.peek(); } public int min() { return stack2.peek(); } }