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

数据流中的中位数

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

class Solution {
  public:
    void Insert(int num) {
        
        if (minHeap.size()<maxHeap.size()) {
            maxHeap.insert(num);
            minHeap.insert(*maxHeap.begin());
            maxHeap.erase(maxHeap.begin());
        }else{
            minHeap.insert(num);
            maxHeap.insert(*minHeap.begin());
            minHeap.erase(minHeap.begin());
        }
    }
    double GetMedian() {
        if (minHeap.size() != maxHeap.size()) return *maxHeap.begin();
        else return double(*minHeap.begin() + *maxHeap.begin()) / 2;;
    }

    multiset<int, less<>> minHeap;
    multiset<int, greater<>> maxHeap;

};

全部评论

相关推荐

海螺很能干:每次看到这种简历都没工作我就觉得离谱
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务