[C_DT60-易] 高頻字元
Time Limit: 2 seconds
問題描述 :
從字串 str 中找出出現頻率最高的字元,所有資料中,最高頻的字元被設計成唯一。 str 中可能包含大小寫英文字母、數字、空白、標點符號等。
輸入說明 :
第一行輸入一整數n(1<=n<=10),表示有幾筆測資。
接下來n行字串 str ,含各種大小寫與標點符號。
輸出說明 :
出現頻率最高的字元。 ( 不會有多個答案 )
範例 :
問題描述 :
從字串 str 中找出出現頻率最高的字元,所有資料中,最高頻的字元被設計成唯一。 str 中可能包含大小寫英文字母、數字、空白、標點符號等。
輸入說明 :
第一行輸入一整數n(1<=n<=10),表示有幾筆測資。
接下來n行字串 str ,含各種大小寫與標點符號。
輸出說明 :
出現頻率最高的字元。 ( 不會有多個答案 )
範例 :
輸入範例 | 輸出範例 |
We’re students! Yes!!! ALL PASS!!! | e ! |
- #include <iostream>
- #include <map>
- using namespace std;
- int main() {
- string word;
- getline(cin, word);
- map<char, int> count;
- for(int j = 0;j < word.size();j++)
- {
- if (count.find(word[j]) == count.end())
- {
- count.insert(make_pair(word[j], 1));
- }
- else
- {
- count[word[j]] = count[word[j]]+1;
- }
- }
- int max = -1;
- char ans;
- for(map<char, int>::iterator iter = count.begin(); iter != count.end(); iter++)
- {
- if(iter->second > max)
- {
- ans = iter->first;
- max = iter->second;
- }
- }
- cout << ans << endl;
- return 0;
- }
沒有留言:
張貼留言