0
A
回答
4
面試的問題永遠沒有正確的答案。 面試官教導要問開放式問題,看看你如何思考和解決問題。 你反過來應該展示思考過程,並展示你可以用「軟件工程方式」思考。
類似的東西:
- 哦...... 1萬個號碼...
- 我認爲他們是簡單的長,所以百萬約需4兆內存
- (嗯.. 。可能是我在這裏是錯誤的,長的會佔用8個字節,所以它會是8M字節...... - 對於這個問題,現在並不那麼重要)。 (我確實知道我的工具和核心庫)。我們可以將它加載到內存並使用就緒算法Arrays.sort(long [])
- (我知道我的工具和核心庫)。
- 它不會有額外的內存和O(n * log(n))的複雜度(6 000 000次操作順便說一句)。
- 你能做得更快嗎?
- 噢......我記得我聽說過基數排序 - 那個算法給了我們o(k * n)的複雜度,其中k是有效數字的個數(長整數將是整數的兩倍(20億= 9位數)= 18位),所以它會是18 * 1百萬=哦......它會慢3倍,我不確定算法需要多少附加內存。
- 如果我們有這麼多的數據,它會溢出可用內存?
- 我們將砍數據轉換成的M L塊大小,以便每個塊中的將裝配到存儲器
- 我們將每個組塊separatedly排序並存儲結果到文件
- 合併的排序的文件將是與鄰(米)速度
- 而且,我們將需要執行L-1這樣合併
- 等
0
0
,因爲它是整數,有一百萬個 - 基數排序,就地,並在儘可能多的線程,因爲有可用的
0
的CPU 在數組中存儲數百萬的數據不是好主意。它可能會導致MemoryOutOfBounds異常。它會導致性能問題。 但是,如果要排序的數組
int[] intArray = new int[] {4, 1, 3, -23};
Arrays.sort(intArray);
// [-23, 1, 3, 4]
String[] strArray = new String[] {"z", "a", "C"};
Arrays.sort(strArray);
// [C, a, z]
// Case-insensitive sort
Arrays.sort(strArray, String.CASE_INSENSITIVE_ORDER);
// [a, C, z]
// Reverse-order sort
Arrays.sort(strArray, Collections.reverseOrder());
// [z, a, C]
// Case-insensitive reverse-order sort
Arrays.sort(strArray, String.CASE_INSENSITIVE_ORDER);
Collections.reverse(Arrays.asList(strArray));
// [z, C, a]
0
如果數字在1百萬有限範圍使用布爾數組。這將把記憶力降到125MB。使用索引作爲數字和值爲true或false。取消現有數組,並將其填充爲通過布爾數組讀取。
0
我們可以將條目放在一個NavigableHashMap
中,以保持排序後的數據。因此,在放置密鑰時檢查是否存在密鑰,然後將值增加1.現在提取值的數據打印鍵倍數。只是在這種情況下,我們剛剛運行過O(N)的Array。
相關問題
- 1. JAVA ..如何排序包含時間
- 2. 包含點的Java /排序數組
- 3. 排序中包含HashMap
- 4. 排序包含在包括 - PHP
- 5. 排序CREATE TABLE語句,其中包含Java中的引用
- 6. 排序包含整數
- 7. 如何排序包含HashMap
- 8. 排序NSStrings包含日期
- 9. 排序包含按日期
- 10. 如何排序包含HashMap
- 11. 排序包含元組
- 12. 對包含對象的java中的鏈表進行排序
- 13. 對Java中包含數字的字符串進行排序
- 14. 排序包含java中的對象的數組列表
- 15. flex datagrid排序其中包含itemrenderer
- 16. 數組排序包含在PHP日期
- 17. 排序包含字典列表在Python
- 18. 排序包含在Visual Studio頭
- 19. 排序NSArray的由包含在數組
- 20. OS X包含堆排序stdlib.h中與堆排序中排序庫
- 21. 在Java中包含圖像
- 22. Java在jsp中包含類
- 23. 在Java applet中包含Javac
- 24. 排序在Java中
- 25. 排序在Java中
- 26. 排序在Java中
- 27. Java比較要正確排序包含符號的字符串
- 28. 排除包含在Perl
- 29. IntelliJ包含一個包含在排除目錄中的目錄?
- 30. 通過NSDate排序包含NSObject的NSMutableArray包含NSDates
告訴我你的答案,我會告訴你我的。 – PengOne
可能是'Arrays.sort(Object [])':[Java Doc For Arrays](http://download.oracle.com/javase/6/docs/api/java/util/Arrays.html#sort(java .lang.Object []) –
我提到關於使用循環排序,但我不知道...但面試官並不期望這個答案 – Mike