题目描述

如何得到一个数据流中的中位数?如果从数据流中读出奇数个数值,那么中位数就是所有数值排序之后位于中间的数值。如果从数据流中读出偶数个数值,那么中位数就是所有数值排序之后中间两个数的平均值。
 1 class Solution {
 2 public:
 3    vector<int> vet;
 4     void Insert(int num)
 5     {
 6         vet.push_back(num);
 7     }
 8 
 9     double GetMedian()
10     {
11         sort(vet.begin(), vet.end());
12         int len = vet.size();
13         
14         if (len % 2 != 0)
15         {
16             return vet[len / 2];
17         }
18         else
19         {
20             return (vet[len / 2] + vet[len / 2 - 1]) / 2.0;
21         }
22     }
23 
24 
25 };

 

posted on 2017-06-07 17:06  无惧风云  阅读(207)  评论(0)    收藏  举报