标签:and amp ini 最小 port empty get return .com
Design a stack that supports push, pop, top, and retrieving the minimum element in constant time.
Example:
MinStack minStack = new MinStack(); minStack.push(-2); minStack.push(0); minStack.push(-3); minStack.getMin(); --> Returns -3. minStack.pop(); minStack.top(); --> Returns 0. minStack.getMin(); --> Returns -2.
解题
class MinStack { Stack<Integer> element = new Stack<Integer>(); Stack<Integer> minStack = new Stack<Integer>(); public void push(int x) { element.add(x); if (minStack.isEmpty() || x <= minStack.peek()) { minStack.add(x); } } public void pop() { if(element.isEmpty()) return; if (element.peek().equals(minStack.peek())) { minStack.pop(); } element.pop(); } public int top() { return element.peek(); } public int getMin() { return minStack.peek(); } }
标签:and amp ini 最小 port empty get return .com
原文地址:https://www.cnblogs.com/hygeia/p/10090163.html