国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁(yè) > 學(xué)院 > 開(kāi)發(fā)設(shè)計(jì) > 正文

數(shù)據(jù)流中的中位數(shù)

2019-11-08 02:03:30
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友
題目描述

如何得到一個(gè)數(shù)據(jù)流中的中位數(shù)?如果從數(shù)據(jù)流中讀出奇數(shù)個(gè)數(shù)值,那么中位數(shù)就是所有數(shù)值排序之后位于中間的數(shù)值。如果從數(shù)據(jù)流中讀出偶數(shù)個(gè)數(shù)值,那么中位數(shù)就是所有數(shù)值排序之后中間兩個(gè)數(shù)的平均值。

IDEA

1.采用插入排序,插入一個(gè),調(diào)整一次順序;

2.兩個(gè)堆實(shí)現(xiàn)。一個(gè)大頂堆,一個(gè)小頂堆,大頂堆中所有數(shù)<=小頂堆中所有數(shù)。

CODE

1.

class Solution {PRivate:    vector<int> vec;    int n;public:    void Insert(int num)    {        vec.push_back(num);        n=vec.size();        int i=n-1;        while(i>0&&vec[i]<vec[i-1]){            int tmp=vec[i-1];            vec[i-1]=vec[i];            vec[i]=tmp;            i--;        }     }    double GetMedian()    {         return (vec[n/2]+vec[(n-1)/2])/2.0;    }};2.

class Solution {private:    int count=0;    priority_queue<int,vector<int>,less<int> >big_heap;    priority_queue<int,vector<int>,greater<int> >small_heap;public:    void Insert(int num)    {        count++;        if(count%2){            small_heap.push(num);            big_heap.push(small_heap.top());            small_heap.pop();                    }else{            big_heap.push(num);            small_heap.push(big_heap.top());            big_heap.pop();        }    }    double GetMedian()    {         if(count%2){            return big_heap.top();        }else{            return (big_heap.top()+small_heap.top())/2.0;        }    }};


發(fā)表評(píng)論 共有條評(píng)論
用戶(hù)名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 嘉峪关市| 长乐市| 芦溪县| 贵南县| 新营市| 祥云县| 灵川县| 武定县| 邢台县| 东阿县| 陕西省| 渭南市| 缙云县| 洮南市| 喀喇沁旗| 东乡| 子长县| 辽中县| 淮安市| 湟中县| 建平县| 蒲城县| 斗六市| 大连市| 锡林浩特市| 临桂县| 瑞丽市| 兴山县| 新化县| 洱源县| 宽甸| 千阳县| 雷波县| 万安县| 乌拉特前旗| 左权县| 沙坪坝区| 垣曲县| 佛教| 呼图壁县| 桃江县|