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

相关推荐

05-12 17:00
门头沟学院 Java
king122:你的项目描述至少要分点呀,要实习的话,你的描述可以使用什么技术,实现了什么难点,达成了哪些数字指标,这个数字指标尽量是真实的,这样面试应该会多很多,就这样自己包装一下,包装不好可以找我,我有几个大厂最近做过的实习项目也可以包装一下
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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