7 46 新浪微博熱門話題 30 分

2021-09-27 10:47:13 字數 1808 閱讀 6226

這個30分不好拿呀,可以借鑑的知識點:map根據value排序,其實是用vector中的pair進行排序。

首先題目讀錯了,忽略了還有數字,注意到這個問題以後,第三個測試點還是過不去。

後來看了別人的部落格才發現,原來除了字母和數字的其他字元,要先替換成空格才行。

每個話題在一行中只標記一次。

別人的測試樣例 輸入

4

this is a #test of 1 topic#.

another #test of (1)topic.#

this is a #hot# topic

this is a test of 1 topic

輸出

test of 1 topic

2

輸入

3

test #for@ diff words#

test #ford iff words#

#more than# one #topics.#

輸出

for diff words

1and 3 more…

#include

#include

#include

#include

#include

#include

#include

#include

using

namespace std;

bool

cmp(

const pairint>

&a,const pairint>

&b)int

main()

string s;

for(

int u =

0; u < tmp.

size()

; u++

)elseif(

isalnum

(tmp[u]))

} s[0]

= s[0]

-'a'

+'a'

;int u =0;

while

(usize()

&& s[u]

==' '

) u++

; s = s.

substr

(u);

int v = s.

size()

-1;while

(v>=

0&& s[v]

==' '

) v--

; s = s.

substr(0

, v+1)

;if(st[s]

==false

) i = k +1;

}}}for

(auto t: mp) vt.

push_back()

;sort

(vt.

begin()

, vt.

end(

), cmp)

; cout<.first

for(

int i =

0; i < vt.

size()

; i++)if

(cnt >

1) cout<<

"and "

<1<<

" more ..."

}

新浪微博熱門話題 (30 分)

本題目要求實現乙個簡化的熱門話題推薦功能,從大量英文 因為中文分詞處理比較麻煩 微博中解析出話題,找出被最多條微博提到的話題。輸入說明 輸入首先給出乙個正整數n 10 5 隨後n行,每行給出一條英文微博,其長度不超過140個字元。任何包含在一對最近的 中的內容均被認為是乙個話題,輸入保證 成對出現。...

7 15 新浪微博熱門話題 (30 分)

題目 本題目要求實現乙個簡化的熱門話題推薦功能,從大量英文 因為中文分詞處理比較麻煩 微博中解析出話題,找出被最多條微博提到的話題。輸入格式 輸入說明 輸入首先給出乙個正整數n 10 5 隨後n行,每行給出一條英文微博,其長度不超過140個字元。任何包含在一對最近的 中的內容均被認為是乙個話題,輸入...

7 15 新浪微博熱門話題

大體思路是字串按行輸出 這裡注意getchar 每一行用set儲存話題 便於去重 然後把每一行出現的話題放入map集合中,因為map我不太會排序,轉化一下思路,遍歷map,將每乙個map對轉化成pair存入vector陣列,這樣就可以排序了,然後輸出就可以。不過肯定有寫細節需要注意了,比如在向集合裡...