请使用哈希表实现:题目描述 给出一串正整数数列以及一个正整数 � C,要求计算出所有满足 � − � = � A−B=C 的数对的个数(不同位置的数字一样的数对算不同的数对)。 输入 给出一串正整数数列以及一个正整数 � C,要求计算出所有满足 � − � = � A−B=C 的数对的个数(不同位置的数字一样的数对算不同的数对)。 输出 一行,表示该串正整数中包含的满足 � − � = � A−B=C 的数对的个数。请输出C++代码
时间: 2023-05-24 18:05:07 浏览: 531
一个用C实现的哈希表-开源
#include <iostream>
#include <unordered_map>
using namespace std;
int main() {
int n, c, ans = 0;
unordered_map<int, int> map;
cin >> n >> c;
for (int i = 0; i < n; i++) {
int num;
cin >> num;
if (map[num - c]) {
ans += map[num - c];
}
map[num]++;
}
cout << ans << endl;
return 0;
}
阅读全文