剑指 Offer 41. 数据流中的中位数 Posted on 2021-06-27 Edited on 2022-11-27 In 剑指 Offer Disqus: Symbols count in article: 754 Reading time ≈ 1 mins. 剑指 Offer 41. 数据流中的中位数 参考295. Find Median from Data Stream 两个优先级队列 有点忘了 123456789101112131415161718192021222324252627282930313233343536373839class MedianFinder {public: /** initialize your data structure here. */ MedianFinder() { } void addNum(int num) { if(q1.size() == q2.size()) { q1.push(num); q2.push(q1.top()); q1.pop(); }else { q2.push(num); q1.push(q2.top()); q2.pop(); } } double findMedian() { if(q1.size() != q2.size()) return q2.top(); else return (q1.top() + q2.top()) / 2.0; }private: priority_queue<int, vector<int>, std::greater<int>> q1; priority_queue<int> q2;};/** * Your MedianFinder object will be instantiated and called as such: * MedianFinder* obj = new MedianFinder(); * obj->addNum(num); * double param_2 = obj->findMedian(); */