题解 | #数据流中的中位数#
数据流中的中位数
https://www.nowcoder.com/practice/9be0172896bd43948f8a32fb954e1be1
#include <vector>
class Solution {
public:
void Insert(int num) {
nums.push_back(num);
size++;
//插入后直接进行排序
if(size >= 2 && nums[size-1] < nums[size-2])
{
int temp = nums[size-1];
int i = size-2;
while(i>=0 && nums[i] > temp)
{
nums[i+1] = nums[i];
i--;
}
nums[i+1] = temp;
}
}
double GetMedian() {
if(size % 2 == 0)
{
return static_cast<double>(nums[size/2-1]+nums[size/2])/2;
}
else {
return nums[size/2];
}
}
private:
vector<int> nums;
int size = 0;
};