劍指offer 面試題41:數據流中的中位數 c++

題目:如何獲得一個數據流中的中位數?若是從數據流中讀出奇數個數值,那麼中位數就是全部數值排序以後位於中間的數值。若是從數據流中讀出偶數個數值,那麼中位數就是全部數值排序以後中間兩個數的平均值。less 思路:數據流的中位數最好使用兩個堆,這樣能夠動態維護插入和得到中位數的過程。能夠使用一個大頂堆和一個小頂堆, 中位數左邊是 大頂堆,放比中位數小的元素,中位數右邊放小頂堆,放比中位數大的元素。cod
相關文章
相關標籤/搜索