设计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;
    }
};
全部评论

相关推荐

昨天 15:40
华南理工大学 C++
点赞 评论 收藏
分享
合适才能收到offe...:招聘上写这些态度傲慢的就别继续招呼了,你会发现hr和面试官挺神的,本来求职艰难就可能影响一些心态了,你去这种公司面试的话,整个心态会炸的。
点赞 评论 收藏
分享
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
正在热议
更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务