题解 | #包含min函数的栈#

包含min函数的栈

http://www.nowcoder.com/practice/4c776177d2c04c2494f2555c9fcc1e49

class Solution {
private:
    vector<int> list;
    vector<int> min_list;
public:
    void push(int value) {
        if(list.empty()) {
            list.push_back(value);
            min_list.push_back(0);
        }
        else{

            if(value<list.at(min_list.at(min_list.size()-1))) {
                list.push_back(value);
                min_list.push_back(list.size()-1);
            }
            else {
                list.push_back(value);
                min_list.push_back(min_list.at(min_list.size()-1));
            }
        }
    }
    void pop() {
        list.pop_back();
        min_list.pop_back();
    }
    int top() {
        return list.at(list.size()-1);
    }
    int min() {
        return list.at(min_list.at(min_list.size()-1));
    }
};
全部评论

相关推荐

程序员牛肉:继续沉淀吧同学,你这就是纯纯的流水线产品。 差不多的学历+两个烂大街项目。自身学历又不行,现在找啥实习呢。有点太浮躁了。多花点心思搞搞ai,开源和八股。这比你这段时间捣鼓一段小厂实习要好得多;
点赞 评论 收藏
分享
评论
1
收藏
分享

创作者周榜

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