unordered_set<int> seen;
时间: 2024-06-14 11:06:54 浏览: 13
unordered_set<int> seen是一个用于存储整数的无序集合。它是C++标准库中的一个容器,可以用来存储不重复的元素。在这个例子中,它被用来存储已经遍历过的数字,以便检测是否存在重复的数字。
这个容器的特点是:
- 它是无序的,即元素的顺序不会影响它们在容器中的存储位置。
- 它只能存储唯一的元素,即不允许重复的元素。
- 它的插入、删除和查找操作的平均时间复杂度都是O(1)。
在这个例子中,每次遍历一个数字时,都会检查该数字是否已经存在于seen中。如果存在,则说明这个数字是重复的,函数会立即返回该数字。如果不存在,则将该数字插入到seen中。最后,如果没有找到重复的数字,函数会返回-1。
这是一个使用unordered_set<int> seen的示例代码:
```cpp
#include <iostream>
#include <unordered_set>
#include <vector>
using namespace std;
int findDuplicate(vector<int>& nums) {
unordered_set<int> seen;
for (auto num : nums) {
if (seen.count(num)) {
return num;
}
seen.insert(num);
}
return -1;
}
int main() {
vector<int> nums = {1, 2, 3, 4, 5, 2};
int duplicate = findDuplicate(nums);
cout << "Duplicate number: " << duplicate << endl;
return 0;
}
```
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![xlsx](https://img-home.csdnimg.cn/images/20210720083732.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)