1. 算法如下:根據快速排序划分的思想 (1) 遞歸對所有數據分成[a,b)b(b,d]兩個區間,(b,d]區間內的數都是大於[a,b)區間內的數 (2) 對(b,d]重復(1)操作,直到最右邊的區間個數小於100個。注意[a,b)區間不用划分 (3) 返回上一個區間,並返回此區間的數字 ...
我記得在算法導論里看過這個算法,貌似開篇就是。 維護一個大小為 的數組top ,第一個里面存儲最先 個數字里的最小值,構建小頂堆,然后循環下標 到一億,若是大於top 就交換,重新構建小頂堆,循環完畢就得到結果了。 對top 插入排序效率不知道如何。 進行 次區間快排求k值如何。 進行 次桶排序如何。 不過復雜度分析還是弱項。 堆排序筆記:http: www.cnblogs.com hxsyl ...
2013-09-22 12:27 13 2377 推薦指數:
1. 算法如下:根據快速排序划分的思想 (1) 遞歸對所有數據分成[a,b)b(b,d]兩個區間,(b,d]區間內的數都是大於[a,b)區間內的數 (2) 對(b,d]重復(1)操作,直到最右邊的區間個數小於100個。注意[a,b)區間不用划分 (3) 返回上一個區間,並返回此區間的數字 ...
【來自程序員面試寶典】有1千萬條短信,找出重復出現最多的前10條 題目: 有1千萬條短信,有重復,以文本文件的形式保存,一行一條,有重復。請用5分鍾時間,找出重復出現最多的前10條。 解析: 對於本題來說,某些面試者想用數據庫的辦法來實現:首先將文本導入數據庫,再利用 ...
在面試時,避免不了的會遇到一些數據結構的面試題,今天我們就來了解一下二叉樹的經典面試題: 已知二叉樹的前序遍歷順序為ABDCEGHF,中序遍歷順序為DBAGEHCF,求該二叉樹的后序遍歷。 還有: 已知二叉樹的中序遍歷順序為DBAGEHCF,后序遍歷順序為DBGHEFCA,求 ...
...
(1)10 thousand = 一萬 = 10 thousand(2)10 million = 一千萬 = 10 million(3)100 million = 一億 = 100 million(4)1 billion = 十億 = 1 billion ...
題目:將1到100的隨機數插入到長度為100的數組中,保證不會有重復元素 ---方案一:使用set集合,可以保證set中不會有重復元素,當set大小為100時,退出循環; 獲取1--100隨機數方法有 : int a = (int)(Math.random ...
2、求1-100的所有數的和 #除了自定義的列表,我們還能用數字比如for i in range(1,10,3),rang里面三個數字分別代表開始,結束,步長。 #for中的break,可以在滿足什么條件的時候退出循環: ...
一個頭發稀少、穿着格子襯衣的中年男子走了進來,把手里拿的MAC放在桌子上,對我說:“我會用電腦記錄面試過程,你不要介意啊”。 我回答到:“沒關系。” 面試官:“先來一點基礎的算法題吧,用Java寫一個方法,求100萬內的質數。” 我心中暗想確實很基礎,質數不就是除了1和自身外無法被其他數 ...