题目描述
数据表记录包含表索引和数值(int范围的正整数),请对表索引相同的记录进行合并,即将相同索引的数值进行求和运算,输出按照key值升序进行输出。
解题思路:
利用哈希表
错误点:
对以下这种语法不熟悉,Begin 和end后面有括号 而first 和 second后面没有
for(auto it=m.begin();it!=m.end();it++){
cout<<it->first<<’ '<<it->second<<endl;
}
#include<iostream>
#include<map>
using namespace std;
int main(){
int n;
cin>>n;
map<int,int> m;
for(int i=0;i<n;i++){
int k,v;
cin>>k>>v;
if(m.find(k)==m.end())
m[k] = v;
else{
m[k] = m[k]+v;
}
}
for(auto it=m.begin();it!=m.end();it++){
cout<<it->first<<' '<<it->second<<endl;
}
}