题解 | #数据流中的中位数#

数据流中的中位数

http://www.nowcoder.com/practice/9be0172896bd43948f8a32fb954e1be1

class Solution {
public:
    priority_queue<int> qmin;
    priority_queue<int, vector<int>, greater<int>> qmax;
    void Insert(int num) {
        if (qmin.empty() || num <= qmin.top()) {
            qmin.push(num);
            if (qmin.size() - 1 > qmax.size()) {
                qmax.push(qmin.top());
                qmin.pop();
            }
        } else {
            qmax.push(num);
            if (qmax.size() > qmin.size()) {
                qmin.push(qmax.top());
                qmax.pop();
            }
        }
    }

    double GetMedian() { 
        if (qmin.size() == qmax.size()) return (qmin.top() + qmax.top()) / 2.0;
        return qmin.top();
    }

};
全部评论

相关推荐

08-04 22:37
桂林学院 Java
行不行阿细GO:说真的我现在看到校招java简历都头痛。。千篇一律和阅卷高考作文差不多,估计公司也是吧,到最后就看学历和大厂实习了
投递BOSS直聘等公司10个岗位
点赞 评论 收藏
分享
09-01 11:31
门头沟学院 Java
buul:七牛云的吧,感觉想法是好的,但是大家没那么多时间弄他这个啊。。。不知道的还以为他是顶尖大厂呢还搞比赛抢hc,只能说应试者的痛苦考察方是无法理解的,他们只会想一出是一出
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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