求出現次數最多的字元
阿新 • • 發佈:2019-01-03
一個字串中可能包含a~z中多個字串,並且可能會有重複,如 String data ="abcdaaa",這道字串出現次數醉倒的字母就是a,出現了4次。現在使用者輸入一個字串,我們需要求出出現次數最多的字母,並且求出次數,如果存在字母中出現最多的次數不唯一,但所有出現次數最多的字母及次數都要打印出來。
輸入:輸入是一行字串,就是我們所需統計的字串,例如我們輸入 “abcabd”
輸出:輸出是出現次數最多的字母以及出現次數,二者用空格分開,如果出現最多次數的字母不唯一,按照字母在字串中出現的順序,把所有結果打印出來,用換行符將每一行的字母和次數分開
樣例輸入
abcabd
樣例輸出
a 2 b 2
#include<iostream> #include<string> #include<map> using namespace std; map<char, int>mp; int main() { string str; cin >> str; for (int i = 0; i < str.length(); i++) { if (mp.find(str[i]) == mp.end()) { mp[str[i]] = 1; } else { mp[str[i]]++; } } map<char, int>::iterator it; int max = 0; for (it = mp.begin(); it != mp.end(); it++) { if (it->second > max) { max = it->second; } } for (it = mp.begin(); it != mp.end(); it++) { if (it->second == max) { cout << it->first << " " << it->second << endl; } } return 0; }