题解 | #简单错误记录#

简单错误记录

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

#include <iostream>
#include <string>
#include <sstream>
#include <vector>
#include <unordered_map>
using namespace std;

int findByKey(vector< pair<string, int> > v, string key) {
    if (v.empty()) {
        return -1;
    }
    for (int i = 0; i < v.size(); i++) {
        if (v[i].first == key) {
            return i;
        }
    }
    return -1;
}
int main() {
    string input;
    vector< pair<string, int> > test;
    // unordered_map<string, int> test;
    while (getline(cin, input)) {
        string s1, s2;
        istringstream s(input);
        while (getline(s, s1, '\\'));
        vector<string> v_tmp;
        istringstream ss(s1);
        while (getline(ss, s2, ' ')) {
            v_tmp.push_back(s2);
        }
        if (v_tmp[0].size() > 16) {
            v_tmp[0] = v_tmp[0].substr(v_tmp[0].size() - 16);
        }
        string temp = v_tmp[0] + ' ' + v_tmp[1];
        if (test.empty()) {
            test.push_back(make_pair(temp, 1));
        } else {
            int i = findByKey(test, temp);
            if (i == -1) {
                test.push_back(make_pair(temp, 1));
            } else {
                test[i].second++;
            }
        }
    }
    if (test.size() <= 8) {
        for (int i = 0; i < test.size(); i++) {
            cout << test[i].first << ' ' << test[i].second << endl;
        }
    }
    if (test.size() > 8) {
        for (int i = test.size() - 8; i < test.size(); i++) {
            cout << test[i].first << ' ' << test[i].second << endl;
        }
    }

}
// 64 位输出请用 printf("%lld")

全部评论

相关推荐

求面试求offer啊啊啊啊:1600一个月?
点赞 评论 收藏
分享
mjasjon:这种trash中厂 简历过筛概率比大厂还低(除阿里系)
投递哔哩哔哩等公司6个岗位
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务