原文:10G整數文件中尋找中位數或者第K大數

來源:http: hxraid.iteye.com blog 題目:在一個文件中有 G 個整數,亂序排列,要求找出中位數。內存限制為 G。只寫出思路即可 內存限制為 G的意思就是,可以使用 G的空間來運行程序,而不考慮這台機器上的其他軟件的占用內存 。 分析:既然要找中位數,很簡單就是排序的想法。那么基於字節的桶排序是一個可行的方法 請見 桶排序 :思想:將整形的每 byte作為一個關鍵字,也就 ...

2016-07-03 22:25 2 1213 推薦指數:

查看詳情

面試題:在一個文件中有 10G整數,亂序排列,要求找出中位數(內存限制為2G)

假設整數為32bit,4個字節存儲 這種題目,首先想到的是分而治之。將文件數字分組。然后遍歷文件的數字,按分組進行計數。最后找到中位數所在的分組區間 1、如果10G整數都為同一個,那么10G整數會分布在一個區間,10G=5*2^31 > 2^31 - 1,所以每個分組存儲計數的整數 ...

Thu Jun 13 19:50:00 CST 2019 0 476
騰訊面試題:10G整數,亂序排列,要求找出中位數。內存限制為 2G

騰訊面試題:10G整數,亂序排列,要求找出中位數。內存限制為 2G。 題目和基本思路都來源網上,本人加以整理。 題目:在一個文件中有 10G整數,亂序排列,要求找出中位數。內存限制為 2G。只寫出思路即可(內存限制為 2G的意思就是,可以使用2G的空間 ...

Tue Apr 14 06:08:00 CST 2015 0 6007
10G整數,亂序排列,要求找出中位數。內存限制為 2G。只寫出思路即可

題目:在一個文件中有 10G整數,亂序排列,要求找出中位數。內存限制為 2G。只寫出思路即可(內存限制為 2G的意思就是,可以使用2G的 空間來運行程序,而不考慮這台機器上的其他軟件的占用內存)。 分析: 既然要找中位數,很簡單就是排序的想法。那么基於字節的桶排序是一個可行 ...

Mon Mar 09 05:44:00 CST 2020 0 823
求三個整數中位數

比如三個整數10 12 11,輸出11 還是按照從結果出發思考問題 我們用middle變量來存放中位數 那么肯定有int middle 用戶輸入三個數分別是a b c 最后的結果無非是a是中位數 或者b是中位數 或者c是中位數 如果a是中位數則,middle ...

Sat Oct 13 01:00:00 CST 2018 0 667
oracle 10g 恢復dmp文件

1. 在winxp下,安裝10g,默認選擇,一路ok。(安裝前自檢出現dhcp警告,可直接忽略) 2.命令行,在xp下,輸入sqlplus,即可啟動,登陸用 sqlplus / as sysdba 用管理員登陸 3.在恢復oracle時,先在 sqlplus里,先建立表空間,建用戶,並給用戶 ...

Tue Jul 21 02:10:00 CST 2015 0 1860
大數找上中位數的方法

題目: 40億 大整數,組成了一個大文件。想找到其中的 上中位數該怎么辦?內存:10MB,怎么辦?內存:20K,怎么辦?內存:有限幾個字符,怎么辦?條件:按行讀取文件,讀取操作不占用內存。 應該具備的能力:2^k = ? 應該都能夠熟記,達到反射性反應的程度。字節數 對應計算機的 容量(T ...

Sun Sep 17 03:02:00 CST 2017 0 2206
 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM