c++查找一个数组中相同的元素个数
时间: 2023-08-31 11:05:53 浏览: 108
您可以使用哈希表来实现查找一个数组中相同元素的个数,具体步骤如下:
1. 定义一个哈希表,将数组中的每个元素插入到哈希表中。
2. 遍历数组中的每个元素,查找该元素在哈希表中出现的次数。
3. 统计出现次数大于 1 的元素的个数。
以下是示例代码:
```cpp
#include <iostream>
#include <unordered_map>
using namespace std;
int main() {
int a[] = {1, 2, 3, 2, 4, 3, 5, 6, 5};
int n = sizeof(a) / sizeof(a[0]);
unordered_map<int, int> mp;
for (int i = 0; i < n; i++) {
mp[a[i]]++;
}
int cnt = 0;
for (int i = 0; i < n; i++) {
if (mp[a[i]] > 1) {
cnt++;
mp[a[i]] = 0; // 避免重复计数
}
}
cout << cnt << endl;
return 0;
}
```
在上面的代码中,我们使用了 `unordered_map` 类模板来实现哈希表。对于每个元素,我们将其作为键,出现次数作为值存储在哈希表中。然后遍历数组中的每个元素,在哈希表中查找该元素出现的次数。最后统计出现次数大于 1 的元素的个数,并输出结果。
阅读全文