题目
解题思路
记录每个数字绝对值出现的个数:用哈希表,由于数据范围比较小,所以可以用数组模拟哈希表实现
int类型取绝对值用abs函数,在 cmath头文件中
代码实现
#include <iostream>
#include <algorithm>
#include <cstring>
#include <cmath>
using namespace std;
const int N = 1010;
int a[N];
int main()
{
int n;
cin >> n;
int res = 0;
for (int i = 1; i <= n; i ++)
{
int num;
cin >> num;
num = abs(num); //取绝对值
a[num] ++;
if(a[num] == 2) res ++; //如果有相反数,那么该下标会对应有两个数字
}
cout << res;
return 0;
}