A1071 Speech Patterns (25 分)

Posted tsruixi

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了A1071 Speech Patterns (25 分)相关的知识,希望对你有一定的参考价值。

一、技术总结

  1. 开始拿到这道题目时,思考的是我该如何区分它们每一个单词,不知道这里还是要学习得知在cctype头文件中有一个函数用于查看是否为0~9、a~z、A~Z,就是isalnum(),又因为题目中要求不区分大小写,有一个函数tolower(),toupper()要学会合理利用。
  2. 然后就是使用map技术了,默认初始化为0如果是string,int,可以直接mp[]++;
  3. 然后就是键值和值mp->first,mp->second;

二、参考代码

#include<iostream>
#include<map>
#include<cctype>
using namespace std;
int main(){
    string t, s;
    map<string, int> mp;
    getline(cin, s);
    for(int i = 0; i < s.length(); i++){
        if(isalnum(s[i])){
            s[i] = tolower(s[i]);
            t += s[i];
        }
        if(!isalnum(s[i]) || i == s.length()-1){
            if(t.length() != 0) mp[t]++;
            t = "";
        }
    }
    int maxn = 0;
    for(auto it = mp.begin(); it != mp.end(); it++){
        if(it->second > maxn){
            maxn = it->second;
            t = it->first;
        }
    } 
    cout << t << " " << maxn;
    return 0;
}

以上是关于A1071 Speech Patterns (25 分)的主要内容,如果未能解决你的问题,请参考以下文章

1071. Speech Patterns (25)

PAT Advanced 1071 Speech Patterns (25分)

PAT (Advanced Level) 1071. Speech Patterns (25)

1071 Speech Patterns (25 分)难度: 简单 / 知识点: 哈希表 字符串

PAT 1071 Speech Patterns[一般]

PATA 1071 Speech Patterns.