题解 | #简单错误记录#

简单错误记录

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

#include <iostream>
using namespace std;
#include <unordered_map>
#include <deque>

int main() {
    unordered_map<string, int>dic;
    deque<string>dq;
    string s;
    while (getline(cin, s)) {
        // 截取代码行数和文件名作为字典的key 文件名限制16位
        int n = s.size(), cnt = 1, i = n - 1;
        for (; i >= 0 && cnt <= 16 ; i--) {
            if (s[i] == '\\') {
                break;
            }
            if (!isalpha(s[i])) {
                continue;
            } else {
                cnt++;
            }
        }
        //出循环i要么遇到'\'要么在第16位字符上溢出了
        s = s.substr(i + 1); //s中存储着截取代码行数和文件名
        if(!dic.count(s)){
            dq.push_back(s);
        }
        dic[s]++;
    }
    int sz = dq.size();
    deque<string>::iterator it = dq.begin();
    if(sz > 8){
        it = dq.begin() + sz - 8;
    }
    for(; it != dq.end(); it++){
        cout<<*it<<' '<<dic[*it]<<endl;
    }
}
// 64 位输出请用 printf("%lld")
// 对输入的字符串做如下操作
// 截取代码行数和文件名作为字典的key 文件名限制16位
// 将文件名和代码行数作为字符串加入字典
// 不在字典中再加入队列

全部评论

相关推荐

11-20 22:03
东北大学 Java
用哈基米写的简历,有点夸大,等我后面改谦虚点,能不能找个日常实习,项目是点评和天机,没什么荣誉要不要把蓝桥杯和六级删了算了,实在没门面
程序员花海:日常实习这份简历够用的,等实习之后把实习经历结合业务好好写一下 到时候把实习经历放在项目经历的前面 可以看我主页修改简历的模板
如何写一份好简历
点赞 评论 收藏
分享
头像
10-27 15:50
门头沟学院 Java
想进开水团喝开水:有一种店 只能外卖 不能堂食 你猜为什么
点赞 评论 收藏
分享
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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