1. 程式人生 > >9.25 隨時找到資料流的中位數

9.25 隨時找到資料流的中位數

題目】:

  有一個源源不斷地吐出整數的資料流,假設你有足夠的空間來儲存吐出的數。請設計一個名叫MedianHolder的結構,MedianHolder可以隨時取得之前吐出的所有數的中位數

 

要求】:

  1、如果MedianHolder已經儲存了吐出的N個數,那麼任意時刻將一個新數加入到MedianHolder的過程,其時間複雜度是O(logN)

  2、取得已經吐出的N個數整體的中位數的過程,時間複雜度為O(1)

 

題目來源:左程雲老師《程式設計師程式碼面試指南》