题解 | #数据流中的中位数#
数据流中的中位数
https://www.nowcoder.com/practice/9be0172896bd43948f8a32fb954e1be1
#include <queue>
class Solution {
public:
void Insert(int num) {
// 从小到大排序
if (count % 2 == 0) {
// 插入左边
right.push(num);
left.push(right.top());
right.pop();
} else {
// 插入右边
left.push(num);
right.push(left.top());
left.pop();
}
count++;
}
double GetMedian() {
if (count % 2 == 0) {
return (right.top() + left.top()) / 2.0;
} else {
return left.top();
}
}
private:
priority_queue<int, vector<int>, greater<int>> right; // 右边 最小值
priority_queue<int, vector<int>> left; // 左边 最大值
int count = 0;
};

爱玛科技公司福利 17人发布
查看12道真题和解析