題意是這樣的,給你乙個序列尋找中位數?
其實這個可以轉化為topk問題,但是假如這個陣列不斷的變化呢?這個時候可以考慮使用堆來解決。
這是乙個很經典的問題,值得反思和學習。
參考這一道題leetcode 295. find median from data stream 雙優先順序佇列 + 中位數查詢
**如下:
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
using
namespace
std;
class medianfinder
}double findmedian()
};
動態中位數
178.動態中位數 統計描述 提交自定義測試 題目描述 輸入n個32位有符號整數,當已輸入的個數為奇數個時,輸出此時的中位數。輸入描述 第一行乙個整數n 第二行n個32位有符號整數。輸出描述 輸出一行,n 2 上取整 個中位數,中間用空格隔開。對於 40 資料 n 1000 對於所有資料 n 100...
動態中位數
依次讀入乙個整數序列,每當已經讀入的整數個數為奇數時,輸出已讀入的整數構成的序列的中位數。輸入格式 第一行輸入乙個整數p,代表後面資料集的個數,接下來若干行輸入各個資料集。每個資料集的第一行首先輸入乙個代表資料集的編號的整數。然後輸入乙個整數m,代表資料集中包含資料的個數,m一定為奇數,資料之間用空...
動態中位數
題意 注 本文的 中的輸出不嚴格正確,反正loj的資料也沒多強,不會pe。如果後面加強了當我沒說 沒錯,第乙個還是我的做法。記得是哪年的scp還是noip初賽竟然程式題就是這個思路,然後我照搬了。我們這道題目反著考慮,它讓我們加數,我們就刪除數字,從後往前刪除數字,我們先建乙個排好序的鍊錶,然後從中...