标签:des style blog io color sp on div log
Design a stack that supports push, pop, top, and retrieving the minimum element in constant time.
Solution:
1 class MinStack { 2 Stack<Integer> stack; 3 int curMin; 4 Stack<Integer> minStack; 5 6 7 public MinStack(){ 8 stack = new Stack<Integer>(); 9 curMin = Integer.MAX_VALUE; 10 minStack = new Stack<Integer>(); 11 } 12 13 14 public void push(int x) { 15 stack.push(x); 16 if (x<=curMin){ 17 minStack.push(x); 18 curMin = x; 19 } 20 } 21 22 public void pop() { 23 int val = stack.peek(); 24 stack.pop(); 25 if (val==curMin){ 26 minStack.pop(); 27 if (!minStack.isEmpty()) 28 curMin = minStack.peek(); 29 else curMin = Integer.MAX_VALUE; 30 31 } 32 } 33 34 public int top() { 35 return stack.peek(); 36 37 } 38 39 public int getMin() { 40 return curMin; 41 } 42 }
标签:des style blog io color sp on div log
原文地址:http://www.cnblogs.com/lishiblog/p/4129774.html