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

数据流中的中位数

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

public:
    //使用两个堆来存储数据,
    priority_queue<int> maxheap;   //大根堆,默认降序排列,队列头的元素最大
    priority_queue<int, vector<int>, greater<int>> minheap; //队头元素最小
    void Insert(int num) {
        maxheap.push(num);
        if(minheap.size() && maxheap.top() > minheap.top()){
            int a = maxheap.top(); maxheap.pop();
            int b = minheap.top(); minheap.pop();
            maxheap.push(b), minheap.push(a);
        }
        if(maxheap.size()> minheap.size() + 1){
            minheap.push(maxheap.top());
            maxheap.pop();
        }
    }

    double GetMedian() { 
        if((maxheap.si***heap.size()) & 1) return maxheap.top();
        return (maxheap.top() + minheap.top()) / 2.0;
    }    

};
全部评论

相关推荐

08-07 11:47
门头沟学院 Java
快手你的进度好快啊,可是我感觉我还没做好准备8.4投递8.7hr初筛-用人部门筛选
瞒着老板找实习:2号投敌 4号约面 今天一面已挂 哈哈
投递快手等公司10个岗位
点赞 评论 收藏
分享
湫湫湫不会java:把学校不小心打错一个字就乱杀了
点赞 评论 收藏
分享
08-07 19:10
已编辑
华南理工大学 Java
程序员小白条:从上面看到项目,这简历越快越夸张,先是学历,然后西门子,然后直接到用友了(???),然后到黑马点评??然后是写了一堆技能,但没写各个技术的掌握程度,以及重心
投了多少份简历才上岸
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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