劍指offer 資料流中的中位數

2021-09-10 06:01:29 字數 555 閱讀 9302

題意:每次輸入乙個數字,輸出當前資料流的中位數。

我也給出了main函式,含義就是類似的就是main函式中的例子。

#include

//記住這句話,能夠包含所有標頭檔案

using namespace std;

class solution

if(p.

top(

)> num)

else

if(p.

size()

+2== q.

size()

)if(q.size()

+2== p.

size()

)}double

getmedian()

else

if(p.

size()

>q.

size()

)return p.

top();

else

return q.

top();

}};int

main()

}

劍指offer 資料流中的中位數

題目描述 如何得到乙個資料流中的中位數?如果從資料流中讀出奇數個數值,那麼中位數就是所有數值排序之後位於中間的數值。如果從資料流中讀出偶數個數值,那麼中位數就是所有數值排序之後中間兩個數的平均值。實現 public class getmediannum listnode in new listnod...

劍指Offer 資料流中的中位數

題目描述 如何得到乙個資料流中的中位數?如果從資料流中讀出奇數個數值,那麼中位數就是所有數值排序之後位於中間的數值。如果從資料流中讀出偶數個數值,那麼中位數就是所有數值排序之後中間兩個數的平均值。思路整理 這個題目要解出來很簡單,但是這裡有乙個比較好的思路 用最大和最小堆來實現,就像乙個沙漏一樣,上...

劍指offer 資料流中的中位數

如何得到乙個資料流中的中位數?如果從資料流中讀出奇數個數值,那麼中位數就是所有數值排序之後位於中間的數值。如果從資料流中讀出偶數個數值,那麼中位數就是所有數值排序之後中間兩個數的平均值。我們使用insert 方法讀取資料流,使用getmedian 方法獲取當前讀取資料的中位數。資料流中的資料需要用合...