设计getMin功能的栈

设计getMin功能的栈

http://www.nowcoder.com/questionTerminal/c623426af02d4c189f92f2a99647bd34

单调栈维护最小值

class Solution {
public:
    vector<int> getMinStack(vector<vector<int> >& op) {
        vector<int> ans;
        stack<int> st,minn;
        for(auto i:op)
        {
            if(i[0] == 1)
            {
                st.push(i[1]);
                if(minn.empty() || i[1] <= minn.top())
                    minn.push(i[1]);
            }
            else if(i[0] == 2)
            {
                if(!minn.empty() && st.top() == minn.top())
                    minn.pop();
                st.pop();
            }
            else ans.push_back(minn.top());
        }
        return ans;
    }
};
全部评论

相关推荐

牛客279957775号:铁暗恋
点赞 评论 收藏
分享
挣K存W养DOG:他真的很中意你,为什么不回他
点赞 评论 收藏
分享
点赞 收藏 评论
分享
牛客网
牛客企业服务