2014-10-30 117 views
0

所以,如果我有一個大的文本文件重複行,我怎麼能確定重複最頻繁的行?如何計算txt文件中的重複行數

Example 
    The dog is brown 
    The cat is orange 
    The dog is brown 

這應該The Dog is brown

+0

這是在c + +的原因嗎?作爲shell腳本來實現是很簡單的。 – user657267 2014-10-30 01:41:01

+0

是的,它需要是C++。這是一個練習 – bhzag 2014-10-30 01:42:43

+0

如果這是一個數字列表,你將如何解決這個問題?如果你必須手工完成,而不是使用電腦,你會怎麼做? – 2014-10-30 01:43:06

回答

2

返回2,因爲這似乎是一個學習的過程,在這裏,你可以採取的方法:

  • 做一個關聯容器,比方說, map<string,int>unordered_map<string,int>保留計數
  • 逐行讀取文件。對於每一行,您都會增加關聯容器中的計數
  • 讀完文件後,請走容器,查找最高計數並存儲其關聯密鑰
  • 當您完成循環時,密鑰你發現的和它的相關計數給你的問題的答案。

理解此方法的一種方法是考慮同樣的問題,但用字符串替換爲數字。現在,您只需要爲列表中的每個number編寫一個執行count[number]++的循環。上面描述的方法基本上是一樣的,但是您使用字符串而不是索引的數字。