中位数和均值
數組有N個8-bit整數, (比如,從0到255), 和M個子數組,[i, j] (每個子數組由兩個下標 i 和 j 確定,0 <= i <= j < N)。對每個子數組,找到平均值和中值。
均值比較好求,定義一個數組b[N], b[i] = a[0]+a[1]+...+a[i]
(b[j+1]-b[i-1])/(j-i +1)就可以求出均值
中位數,定義c[i][k]為到下標i為止,k出現的次數
可以這樣求得
for (int i = 0; i < n; ++i)
? ? c[i][a[i]] = c[i-1][a[i]] +1;
總結