假設整數為32bit,4個字節存儲 這種題目,首先想到的是分而治之。將文件中數字分組。然后遍歷文件中的數字,按分組進行計數。最后找到中位數所在的分組區間 1、如果10G個整數都為同一個,那么10G整數會分布在一個區間,10G=5*2^31 > 2^31 - 1,所以每個分組存儲計數的整數 ...
來源:http: hxraid.iteye.com blog 題目:在一個文件中有 G 個整數,亂序排列,要求找出中位數。內存限制為 G。只寫出思路即可 內存限制為 G的意思就是,可以使用 G的空間來運行程序,而不考慮這台機器上的其他軟件的占用內存 。 分析:既然要找中位數,很簡單就是排序的想法。那么基於字節的桶排序是一個可行的方法 請見 桶排序 :思想:將整形的每 byte作為一個關鍵字,也就 ...
2016-07-03 22:25 2 1213 推薦指數:
假設整數為32bit,4個字節存儲 這種題目,首先想到的是分而治之。將文件中數字分組。然后遍歷文件中的數字,按分組進行計數。最后找到中位數所在的分組區間 1、如果10G個整數都為同一個,那么10G整數會分布在一個區間,10G=5*2^31 > 2^31 - 1,所以每個分組存儲計數的整數 ...
騰訊面試題:10G 個整數,亂序排列,要求找出中位數。內存限制為 2G。 題目和基本思路都來源網上,本人加以整理。 題目:在一個文件中有 10G 個整數,亂序排列,要求找出中位數。內存限制為 2G。只寫出思路即可(內存限制為 2G的意思就是,可以使用2G的空間 ...
題目:在一個文件中有 10G 個整數,亂序排列,要求找出中位數。內存限制為 2G。只寫出思路即可(內存限制為 2G的意思就是,可以使用2G的 空間來運行程序,而不考慮這台機器上的其他軟件的占用內存)。 分析: 既然要找中位數,很簡單就是排序的想法。那么基於字節的桶排序是一個可行 ...
比如三個整數是 10 12 11,輸出11 還是按照從結果出發思考問題 我們用middle變量來存放中位數 那么肯定有int middle 用戶輸入三個數分別是a b c 最后的結果無非是a是中位數 或者b是中位數 或者c是中位數 如果a是中位數則,middle ...
1. 在winxp下,安裝10g,默認選擇,一路ok。(安裝前自檢出現dhcp警告,可直接忽略) 2.命令行,在xp下,輸入sqlplus,即可啟動,登陸用 sqlplus / as sysdba 用管理員登陸 3.在恢復oracle時,先在 sqlplus里,先建立表空間,建用戶,並給用戶 ...
...
題目: 40億 大整數,組成了一個大文件。想找到其中的 上中位數該怎么辦?內存:10MB,怎么辦?內存:20K,怎么辦?內存:有限幾個字符,怎么辦?條件:按行讀取文件,讀取操作不占用內存。 應該具備的能力:2^k = ? 應該都能夠熟記,達到反射性反應的程度。字節數 對應計算機中的 容量(T ...