關於k分位數 收藏

2021-08-24 19:36:15 字數 390 閱讀 6019

關於k分位數 收藏

題目:對乙個含有n個元素的集合來說,所謂的k分位數,就是能把已排序的集合分成k個大小相等的集合的「k-1個順序統計量」。請給出乙個能求出含有n個元素(無序)的集合的k分位數的o(nlgk)時間的演算法。

分析:k_select(a[n],k)

if(k == 0)

return ;

m = bit_select(a[n],2);//尋找中位數,m為中位數,時間複雜度為o(n)

將a[n]根據m劃分為兩塊,m作為中間位置存在,左邊的比它小,右邊的比它大,o(n)

m1 = k_select(a[1,m-1],k/2);

m2 = k_select(a[m+1,……n],k/2);

}

移掉K位數字

給定乙個以字串表示的非負整數 num,移除這個數中的 k 位數字,使得剩下的數字最小。輸入 num 1432219 k 3 輸出 1219 解釋 移除掉三個數字 4,3,和 2 形成乙個新的最小的數字 1219。輸入 num 10200 k 1 輸出 200 解釋 移掉首位的 1 剩下的數字為 20...

移掉K位數字

移掉k位數字 給定乙個以字串表示的非負整數 num,移除這個數中的 k 位數字,使得剩下的數字最小。注意 示例 1 輸入 num 1432219 k 3 輸出 1219 解釋 移除掉三個數字 4,3,和 2 形成乙個新的最小的數字 1219。示例 2 輸入 num 10200 k 1 輸出 200 ...

移掉k位數字

給定乙個以字串表示的非負整數 num,移除這個數中的 k 位數字,使得剩下的數字最小。注意 num 的長度小於 10002 且 k。num 不會包含任何前導零。示例 1 輸入 num 1432219 k 3 輸出 1219 解釋 移除掉三個數字 4,3,和 2 形成乙個新的最小的數字 1219。示例...