1. 程式人生 > >有1千萬條有重復的短信,以文本文件的形式保存,一行一條,也有重復,用5分鐘時間找出重復出現最多的前10條短信。

有1千萬條有重復的短信,以文本文件的形式保存,一行一條,也有重復,用5分鐘時間找出重復出現最多的前10條短信。

ascii碼 宋體 哈希表 文本 深度 pan 進行 span 二次

1,哈希表法

  分成若幹組,進行掃描。相同記錄只加1次,重復次數加1,之後進行第二次掃描,得出重復次數的前十名。

2,從小到大排序(我覺得最好不用這種方法,準確性不高)

3,內存映射(建議)

  對每條短信的第i個字母按ASCII碼進行分組,也就是創建樹。i是樹的深度,也是短信的第i個字母。

有1千萬條有重復的短信,以文本文件的形式保存,一行一條,也有重復,用5分鐘時間找出重復出現最多的前10條短信。