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.
  • class MinStack {
    public:
        int test[100000]={0};
        int min[100000]={0};
        int i=0,j=0;
        void push(int x) {
            if(j==0)
            {
                min[i]=x;
            }
            else
            {
                if(min[i]>=x)
                {
                    i++;
                    min[i]=x;
                }
            }
             j++;
            test[j]=x;
           
        }


        void pop() {
            if(test[j]==min[i])
            i--;
            j--;
            
        }


        int top() {
            return test[j];
        }


        int getMin() {
            return min[i];
        }
    };

 

posted @ 2015-11-26 20:34  djiankuo  阅读(130)  评论(0编辑  收藏  举报