解题思路:
(1)因为需要求中位数,所以需要排序
(2)考虑到set是边插入变排序,但是元素可能会重合
(3)使用multiset,最后根据集合的大小,使用迭代器获得中位数
class Solution {
public:
multiset<int> s;
void Insert(int num) {
s.insert(num);
}
double GetMedian() {
int a = s.size()/2;
if(s.size()%2==1) return *next(s.begin(),a);
else return ((double)*next(s.begin(),a)+(double)*next(s.begin(),a-1))/2;
}
};