剑指offer系列52:数据流中的中位数
注意几点:
1.要是排序后的中位数,所以要对输入的数字排序
2.注意输出的类型是double
1 class Solution { 2 public: 3 vector<double> aux; 4 void Insert(int num) 5 { 6 aux.push_back(num); 7 } 8 9 double GetMedian() 10 { 11 sort(aux.begin(),aux.end()); 12 int len = aux.size(); 13 if (len % 2 == 1)//单数个 14 return double(aux[len >>1]); 15 else 16 { 17 int sig = len >>1; 18 double med = (aux[sig] + aux[sig - 1])/2; 19 return med; 20 } 21 } 22 23 };