劍指 Offer 41 資料流中的中位數

2021-10-24 10:06:08 字數 642 閱讀 1678

劍指 offer 41. 資料流中的中位數 - 力扣(leetcode)

一樣的題:leetcode第 295 題:資料流中的中位數(c++)_zj-csdn部落格

class medianfinder 

void adjust()

else if(q1.size() < cnt/2+x)

}void addnum(int num)

double findmedian()

private:

int cnt = 0;

priority_queue, less> q1;//大頂堆(cnt/2或者cnt/2+1個資料)

priority_queue, greater> q2;//小頂堆(cnt/2個資料)

};

插入排序:

class medianfinder 

void addnum(int num)

double findmedian()

private:

vectora;

};

劍指 Offer 41 資料流中的中位數

如何得到乙個資料流中的中位數?如果從資料流中讀出奇數個數值,那麼中位數就是所有數值排序之後位於中間的數值。如果從資料流中讀出偶數個數值,那麼中位數就是所有數值排序之後中間兩個數的平均值。例如,2,3,4 的中位數是 3 2,3 的中位數是 2 3 2 2.5 設計乙個支援以下兩種操作的資料結構 示例...

《劍指offer》 41 資料流中的中位數

如何得到乙個資料流中的中位數?如果從資料流中讀出奇數個數值,那麼中位數就是所有數值排序之後位於中間的數值。如果從資料流中讀出偶數個數值,那麼中位數就是所有數值排序之後中間兩個數的平均值。例如,2,3,4 的中位數是 3 2,3 的中位數是 2 3 2 2.5 設計乙個支援以下兩種操作的資料結構 vo...

劍指Offer41 資料流中的中位數

如何得到乙個資料流中的中位數?如果從資料流中讀出奇數個數值,那麼中位數就是所有數值排序之後位於中間的數值。如果從資料流中讀出偶數個數值,那麼中位數就是所有數值排序之後中間兩個數的平均值。例如,2,3,4 的中位數是 3 2,3 的中位數是 2 3 2 2.5 設計乙個支援以下兩種操作的資料結構 輸入...