PAT甲级-map映射、stl的使用-1071 Speech Patterns解题思路

1071 Speech Patterns (25 分)

在这里插入图片描述

思路

map继续秒杀

代码

#include<bits/stdc++.h>
using namespace std;


map<string,int>mm;

int main()
{
    
    
    string str,s="";
    getline(cin,str);
    int start = 0;
    str +=' ';
    while(start<str.length())
    {
    
    
        char ch = str[start];
        if(ch>='A'&&ch<='Z')
            ch = ch -'A'+'a';

        if((ch>='0'&&ch<='9')||(ch>='a'&&ch<='z'))
            s = s+ch;
        else 
        {
    
    
            if(s.length()!=0)
            {
    
    
                if(mm.find(s)!=mm.end())
                    mm[s]+=1;
                else mm[s]=1;
            }
            s = "";
        }
        start++;
    }
    int ans = 0;
    string out;
    for(map<string,int>::iterator iter=mm.begin();iter!=mm.end();iter++)
    {
    
    
        if(iter->second>ans)
        {
    
    
            ans = iter->second;
            out = iter->first;
        }
    }
    cout<<out<<" "<<ans<<endl;
}

猜你喜欢

转载自blog.csdn.net/weixin_43999137/article/details/114667671