题解 | #合并表记录#
合并表记录
https://www.nowcoder.com/practice/de044e89123f4a7482bd2b214a685201
#include <iostream>
#include <unordered_map>
#include <vector>
#include <algorithm>
using namespace std;
int main() {
int n;
unordered_map<int, int> res;
cin >> n;
while (n--) {
int n1, n2;
cin >> n1 >> n2;
if (res.find(n1) != res.end())
res[n1] += n2;
else
res[n1] = n2;
}
std::vector<std::pair<int, int>> tmp;
for (auto& i : res)
tmp.push_back(i);
std::sort(tmp.begin(), tmp.end(), [ = ](std::pair<int, int>& a, std::pair<int, int>& b) {
return a.first < b.first;
});
for (auto iter = tmp.begin(); iter != tmp.end(); ++iter) {
cout << iter->first << " " << iter->second << endl;
}
return 0;
}
查看9道真题和解析
