class MedianFinder {
private:
vector<int> v;
public:
// Adds a number into the data structure.
void addNum(int num) {
v.push_back(num);
int n=v.size();
if(n>=2)
{
int i=n-2;
int temp=num;
while(i>=0&&num<=v[i])
{
v[i+1]=v[i];
i--;
}
v[i+1]=num;
}
}
// Returns the median of current data stream
double findMedian() {
int n=v.size();
if(n%2==0)
{
double temp;
temp=v[n/2];
temp+=v[n/2-1];
temp=temp/2;
return temp;
}
else
{
return v[n/2];
}
}
};
// Your MedianFinder object will be instantiated and called as such:
// MedianFinder mf;
// mf.addNum(1);
// mf.findMedian();
295. Find Median from Data Stream
最新推荐文章于 2020-08-04 22:31:24 发布