Java for LeetCode 155 Min Stack
Design a stack that supports push, pop, top, and retrieving the minimum element in constant time.
push(x) -- Push element x onto stack.
pop() -- Removes the element on top of the stack.
top() -- Get the top element.
getMin() -- Retrieve the minimum element in the stack.
解题思路:
本题是 《JAVA语言程序设计-基础篇》的原题,修改下即可,JAVA实现如下:
public class MinStack { private int[] elements; private int size; public MinStack() { elements = new int[16]; } public void push(int x) { if (size >= elements.length) { int[] temp = new int[elements.length * 2]; System.arraycopy(elements, 0, temp, 0, elements.length); elements = temp; } elements[size++] = x; } public void pop() { size--; } public int top() { return elements[size - 1]; } public int getMin() { int min=Integer.MAX_VALUE; for(int i=0;i<size;i++) if(min>elements[i]) min=elements[i]; return min; } }