文章

8

粉丝

0

获赞

58

访问

2.2k

头像
字母频率 题解:cpp 哈希表 所有字符统计频率
P1019 贵州大学机试题
发布于2025年2月28日 19:20
阅读数 178

  1. #include<iostream>
  2. #include<string>
  3. #include<unordered_map>
  4. #include<cctype>
  5. using namespace std;
  6. //从键盘输入一个字符串(可能含有数字、字母、其他可见字符),
  7. //输出出现频率最高的英文字母及次数,忽略字母的大小写(如大写A和小写a均视为a)
  8. int main(){
  9. string s;
  10. getline(cin,s);
  11. unordered_map<char,int> mp;
  12. //去掉空格
  13. for(int i=0;i<s.size();i++){
  14. if(s[i]==' '){
  15. s.erase(s[i]);
  16. }
  17. }
  18. for(int i=0;i<s.size();i++){
  19. //先都转化为小写
  20. if(s[i]>='A'&&s[i]<='Z'){
  21. s[i]=tolower(s[i]);
  22. }
  23. mp[s[i]]++;
  24. }
  25. int max=0;char k;
  26. for(unordered_map<char,int>::iterator it=mp.begin();it!=mp.end();it++){
  27. if(it->second>max){
  28. max=it->second;
  29. k=it->first;
  30. }
  31. }
  32. cout<<k<<" "<<max;
  33. return 0;
  34. }
登录查看完整内容


登录后发布评论

暂无评论,来抢沙发