1071 Speech Patterns (巧用字符流逃课)

(阅读理解题,刷了这么多pat,感觉代码水平没升多少,英语水平倒是有了些许提升,回头考个六级试试水平呵呵呵。)

思路:题目本身没什么好说的,一个哈希表记录单词,然后关键就是怎么分割单词了。我有一计,可以很方便地将单词分割出来:我们可以将除了数字与英文字母的所有其他字符替换成空格,并且将字符全换成小写,然后将处理后的字符串传入stringstream字符流中,这样就可以一个单词一个单词地读取了。

cpp 复制代码
#include<bits/stdc++.h>
using namespace std;

int main(){
    string s;
    getline(cin,s);
    int n=s.size();
    for(int i=0;i<n;i++){
        if(s[i]>='A'&&s[i]<='Z')s[i]+='a'-'A';
    }
    map<string,int>mp;
    stringstream ss;
    for(int i=0;i<n;i++){
        if(!isalpha(s[i])&&!isdigit(s[i])){
            s[i]=' ';
        }
    }
    ss<<s;
    string res;
    while(ss>>res){
        mp[res]++;
    }
    int mx=0;
    string word;
    for(auto x:mp){
        if(x.second>mx){
            word=x.first;
            mx=x.second;
        }
    }
    cout<<word<<' '<<mx;
}

(为什么说是阅读理解题?初看题目与样例,我还以为只需要判定引号里面的单词才行,于是写一堆边界判定,一交,嘎,就过一个测试点。一直改一直找是哪出了问题,改了一个多小时,放弃了,看别人写地代码,哦,不用管引号,啪得一下把乱七八糟的判定什么的全删了,直接过了,还更简单了,服,pat真就比谁的脑洞大呗)

相关推荐
剪一朵云爱着17 天前
PAT 1095 Cars on Campus
算法·pat考试
准女婿_17 天前
优考试局域网系统V6.0.0机构版keyGen
pat考试
剪一朵云爱着19 天前
PAT 1056 Mice and Rice
算法·pat考试
仰泳的熊猫20 天前
1109 Group Photo
数据结构·c++·算法·pat考试
剪一朵云爱着21 天前
PAT 1091 Acute Stroke
算法·pat考试
仰泳的熊猫21 天前
1150 Travelling Salesman Problem
数据结构·c++·算法·pat考试
仰泳的熊猫21 天前
1154 Vertex Coloring
数据结构·c++·算法·pat考试
仰泳的熊猫21 天前
1149 Dangerous Goods Packaging
数据结构·c++·算法·pat考试
剪一朵云爱着24 天前
PAT 1158 Telefraud Detection
算法·pat考试
仰泳的熊猫25 天前
1083 List Grades
数据结构·c++·算法·pat考试