题解 | #合并表记录#
合并表记录
http://www.nowcoder.com/practice/de044e89123f4a7482bd2b214a685201
使用C++的map,自带顺序,说一下map和unordered_map的区别
map: 有序性,这是map结构最大的优点,红黑树 缺点: 空间占用率高,因为map内部实现了红黑树,虽然提高了运行效率,但是因为每一个节点都需要额外保存父节点、孩子节点和红/黑性质,使得每一个节点都占用大量的空间 map非常适合对于有顺序要求特别高的要求
unordered_map: 优点: 因为内部实现了哈希表,因此其查找速度非常的快 缺点: 哈希表的建立比较耗费时间 unordered_map非常适合快速查找的要求
#include<iostream>
#include<map>
using namespace std;
int main(){
int n;
cin>>n;
int x,y;
map<int, int> hash;
for(int i = 0; i< n; i++){
cin>>x>>y;
hash[x] += y;
}
for(auto [key, val]:hash){
cout<<key<<' '<<val<<endl;
}
return 0;
}