剑指offer-63.数据流中的中位数

来源:互联网 发布:战舰世界 知乎 编辑:程序博客网 时间:2024/06/06 10:56

题目:如何得到一个数据流中的中位数?如果从数据流中读出奇数个数值,那么中位数就是所有数值排序之后位于中间的数值。如果从数据流中读出偶数个数值,那么中位数就是所有数值排序之后中间两个数的平均值。


思路:首先插入num,然后进行排序,然后判断size是奇数还是偶数


class Solution {public:     vector<int>res;    void Insert(int num)    {        res.push_back(num);            }    double GetMedian()    {         int size = res.size();        sort(res.begin(), res.end());        if (size % 2 == 0)            return (double)(res[size/2] + res[size/2 - 1])/2;        else            return (double)res[size / 2];        }};


0 0
原创粉丝点击