c++查找数组中的重复元素
时间: 2023-09-11 10:12:06 浏览: 179
C语言查找数组里数字重复次数的方法
5星 · 资源好评率100%
可以使用哈希表或者排序来查找数组中的重复元素。
使用哈希表的方法:
1. 遍历数组,将数组中的每个元素作为键值存储在哈希表中。
2. 如果当前元素已经在哈希表中出现过,则说明这是一个重复元素。
3. 如果遍历结束后没有找到重复元素,则说明数组中没有重复元素。
C++代码示例:
```cpp
#include <unordered_set>
#include <vector>
bool hasDuplicate(std::vector<int>& nums) {
std::unordered_set<int> hashSet;
for (int num : nums) {
if (hashSet.count(num) > 0) {
return true;
}
hashSet.insert(num);
}
return false;
}
```
使用排序的方法:
1. 对数组进行排序。
2. 遍历数组,比较相邻的元素是否相等,如果相等,则说明这是一个重复元素。
3. 如果遍历结束后没有找到重复元素,则说明数组中没有重复元素。
C++代码示例:
```cpp
#include <algorithm>
#include <vector>
bool hasDuplicate(std::vector<int>& nums) {
std::sort(nums.begin(), nums.end());
for (int i = 1; i < nums.size(); i++) {
if (nums[i] == nums[i - 1]) {
return true;
}
}
return false;
}
```
阅读全文