题解 | #数据流中的中位数#
数据流中的中位数
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