思路:利用map可以容易实现统计一串数中每一个数出现的次数,由于题目中的数都不相等且不为0,故对数取绝对值进行统计,如果map[v]==2则计数器++。
#include <iostream>
#include <algorithm>
#include <map>
using namespace std;
int main(){
int n,v,ans = 0;
cin>>n;
map<int,int> m;
for(int i = 0; i < n; i++){
cin>>v;
v = abs(v);
m[v]++;
if(m[v] == 2){
ans++;
}
}
cout<<ans;
return 0;
}
本文介绍了一种使用C++中的Map数据结构来统计一串数中每个数出现次数的方法,特别关注于如何判断并统计绝对值相同的数是否出现了两次。通过遍历输入的整数序列,对其取绝对值后存入Map,当某个数值的计数达到2时,计数器增加,最终输出计数器的值即为绝对值相同数出现两次的次数。
2703

被折叠的 条评论
为什么被折叠?



