問答題:
一、有一個單向循環鏈表隊列,從頭開始報數,當報到m或者m的倍數的元素出列,根據出列的先后順序重新組成單向循環鏈表。
函數原型:void reorder(Node head , int m)
二、優酷是中國第一的視頻網站,每天有上億的視頻被觀看,現在公司請研發人員找出最熱門的視頻。
該問題的輸入可以簡化為一個字符串文件,每一行都表示一個視頻id,然后要找出出現次數最多的前100個視頻id,將其輸出,同時輸出該視頻的出現次數。
1、假設每天的視頻播放次數為3億次,被觀看的視頻數量為一百萬個,每個視頻ID的長度為20個字節,限定使用的內存為1G。請先描述做法,再寫代碼。
2、假設每個月的視頻播放次數為100億次,被觀看的視頻數量為1億個,每個視頻ID的長度為20個字節,一臺機器被限定使用的內存為1G。
那么想找這個月被播放次數最多的前100個視頻,應該怎么做?請描述清楚可能的辦法。
解析:海量數據的處理。無法一次性裝入內存,可先hash之分為多個文件處理,堆或者Trie樹統計次數,求出每個文件中的Top 100。歸并之求出總的top 100。
對于第二問:還可以hadoop mapReduce處理之。
首先統計每個視頻被觀看次數,得到
以cnt作為關鍵字建立最小堆。遍歷所有鍵值對,若堆的size小于100,則將鍵值對直接插入堆,否則比較鍵值對和堆頂元素大小,若cnt大于堆頂元素的cnt,則彈 出堆頂元素并將鍵值對插入堆。
對于第一問,由于id個數較少,統計部分可直接使用stl的map容器。
對于第二問,由于id個數太大,直接hash內存不夠,需要mapReduce。
三、給你一個由n-1個整數組成的未排序的序列,其元素都是1到n中的不同的整數。請寫出一個尋找序列中缺失整數的線性時間算法。
2020年河北新聞網兩學一做
時間:2023-09-18 07:0:242020年河北新聞網兩學一做
時間:2023-09-15 11:0:59兩學一做學習教育知
時間:2023-09-21 06:0:302020年開展兩學一做學習教
時間:2023-09-19 21:0:30
豆瓣研發類筆試題和面試題答案2023-09-15 19:12:48
華為常見筆試題和面試題答案目2023-09-16 04:26:48
陜西國際商貿學院在重慶高考專業招生計劃(人數+代碼)2025-05-22 10:38:12
安徽建筑大學和新余學院哪個好 分數線排名對比2025-05-22 10:36:54
襄陽職業技術學院廣西錄取分數線及招生人數 附-2020最低位次排名2025-05-22 10:35:29
長江大學和新疆師范大學哪個好 分數線排名對比2025-05-22 10:34:16
錦州師范高等?茖W校在遼寧高考專業招生計劃(人數+代碼)2025-05-22 10:32:49
山東高考排名在17550的考生能報什么大學(原創)2025-05-22 10:31:33
廣州華立學院的英語專業分數線(附2020-最低分排名怎么樣)2025-05-22 10:30:14
蘭州石化職業技術大學的理化測試與質檢技術專業分數線(附2020-最低分排名怎么樣)2025-05-22 10:29:06
泉州師范學院和亳州學院哪個好 分數線排名對比2025-05-22 10:27:53
貴州醫科大學在江西高考專業招生計劃(人數+代碼)2025-05-22 10:26:23
東莞城市學院和西安工商學院哪個好 分數線排名對比2025-05-22 10:24:51
山東海事職業學院的水路運輸安全管理專業分數線(附2020-最低分排名怎么樣)2025-05-22 10:23:44 


