PAT甲級 1071 Speech Patterns (25分) (模擬)

題目鏈接:傳送門

思路:直接遍歷字符串,篩選出單詞,然後計數即可。

代碼:

#include <bits/stdc++.h>

using namespace std;

map <string , int> mp;


int main() {
	string s;
	ios::sync_with_stdio(0);
	getline(cin , s);
	string tmp = "";
	string t = "";
	int ans = 0;
	for(int i = 0 ; i < s.length() ; i++) {
		if(!islower(s[i]) && !isupper(s[i]) && !isdigit(s[i])) {
			if(tmp != "") {
				mp[tmp]++;	
			    int num = mp[tmp];
				if(ans < num || (t > tmp && ans == num)) {
					ans = num;
					t = tmp;
				}
			}
			tmp = "";
		}
		else {
			tmp += tolower(s[i]);
		}
	}
	if(tmp != "") {
		mp[tmp]++;
		int num = mp[tmp];
		if(ans < num || (t > tmp && ans == num)) {
			ans = num;
			t = tmp;
		}
	}
	cout << t << " " << ans << "\n";
	return 0;
}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章