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

数据流中的中位数

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

#include <functional>
#include <queue>
using namespace std;
class Solution {
    // 让我想起了 min函数的栈
private:
    vector<double> bk;
    double midn;
public:
    // priority_queue<int, vector<int>, greater<int>> qu; // 小顶堆
    
    void Insert(int num) {
        // qu.push(num);
        bk.push_back(num);
        int n = bk.size();
        sort(bk.begin(), bk.end(), std::greater<double>());

        if(n%2==0)
        {
            midn =  (bk[n/2-1]+bk[n/2])/2;
        }
        else
        {
            midn =  bk[n/2];
        }
    }

    double GetMedian() { 
        
        return midn;
        
    
    }

};

最暴力的方式 注意 double

全部评论

相关推荐

评论
点赞
收藏
分享

创作者周榜

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