解題思路:
(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;
}
};