本題目要求實現乙個簡化的熱門話題推薦功能,從大量英文(因為中文分詞處理比較麻煩)微博中解析出話題,找出被最多條微博提到的話題。
##輸入格式:
輸入說明:輸入首先給出乙個正整數n(≤105),隨後n行,每行給出一條英文微博,其長度不超過140個字元。任何包含在一對最近的#中的內容均被認為是乙個話題,輸入保證#成對出現。
##輸出格式:
第一行輸出被最多條微博提到的話題,第二行輸出其被提到的微博條數。如果這樣的話題不唯一,則輸出按字母序最小的話題,並在第三行輸出and k more …,其中k是另外幾條熱門話題的條數。輸入保證至少存在一條話題。
注意:兩條話題被認為是相同的,如果在去掉所有非英文本母和數字的符號、並忽略大小寫區別後,它們是相同的字串;同時它們有完全相同的分詞。輸出時除首字母大寫外,只保留小寫英文本母和數字,並用乙個空格分隔原文中的單詞。
輸入樣例:
4this is a #test of topic#.
another #test of topic.#
this is a #hot# #hot# topic
another #hot!# #hot# topic
輸出樣例:
hot2
and 1 more …
1、讀入每行的字串之後,檢索所有topic,並進行轉換
2、topic轉換的時候,注意首字母大寫,其餘字母小寫,其他字元用空格替換,並注意單詞末尾空格的刪除
3、由於要統計提及熱門話題對應的條數,但是同一條中可能多次重複熱門話題,因此選擇使用set來儲存話題條數,最後使用set的size來比較大小。
4、由於map具有自動排序功能,因此次數可以預設儲存字母序列較小的熱門話題。
#include#include#include#include#includeusing namespace std;
string change(string &s)
else
}if(s[len-1]==' ')
s.erase(s.end()-1);
return s;
}int main()
else if(it->second.size()==max)
}cout<1)
cout<<"and "
}
7 44 基於詞頻的檔案相似度 (30 分
實現一種簡單原始的檔案相似度計算,即以兩檔案的公共詞彙佔總詞彙的比例來定義相似度。為簡化問題,這裡不考慮中文 因為分詞太難了 只考慮長度不小於3 且不超過10的英文單詞,長度超過10的只考慮前10個字母。輸入格式 輸入首先給出正整數n 100 為檔案總數。隨後按以下格式給出每個檔案的內容 首先給出檔...
7 44 基於詞頻的檔案相似度 30 分
先檢查輸入的單詞是否分割正確,再進行統計。注意點 單詞大小寫不敏感 單詞長度大於2且小於等於10,以非字母分割。兩個檔案的單詞總量如果有相同的單詞,只統計一次。include include include include include include using namespace std co...
7 44 基於詞頻的檔案相似度 30分
實現一種簡單原始的檔案相似度計算,即以兩檔案的公共詞彙佔總詞彙的比例來定義相似度。為簡化問題,這裡不考慮中文 因為分詞太難了 只考慮長度不小於3 且不超過10的英文單詞,長度超過10的只考慮前10個字母。輸入格式 輸入首先給出正整數n 100 為檔案總數。隨後按以下格式給出每個檔案的內容 首先給出檔...