题解 | #简单错误记录#

简单错误记录

https://www.nowcoder.com/practice/2baa6aba39214d6ea91a2e03dff3fbeb

#include <iostream>
#include <queue>
#include <unordered_map>
#include <vector>
using namespace std;

int main() {
    vector<string> vec;
    string s;
    while(getline(cin,s))
    {
        int start=s.size();
        while(s[start]!='\\')
        {
            start--;
        }
        start++;
        int end=s.size();
        while(s[end]!=' ')
        {
            end--;
        }
        string name;
        if((end-start)>16) name=s.substr(end-16,s.size()-end+16);
        else name=s.substr(start,s.size()-start);
        vec.push_back(name);
    }
    unordered_map<string, int> map;
    queue<string> que;
    for(int i=0;i<vec.size();i++)
    {
        if(map.find(vec[i])!=map.end())
        {
            map[vec[i]]++;
        }
        else {
            map.insert(pair<string, int>(vec[i],1));
            que.push(vec[i]);
            if(que.size()>8) que.pop();
        }
    }
    while(!que.empty())
    {
        cout<<que.front()<<" "<<map[que.front()];
        que.pop();
        if(!que.empty()) cout<<endl;
    }
}
// 64 位输出请用 printf("%lld")

全部评论

相关推荐

07-17 12:09
门头沟学院 Java
讲的口干舌燥,头都晕了怎么要讲这么长啊
码农索隆:没事,你口干舌燥,他不一定会看,
投递小鹏汽车等公司7个岗位
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务