如何写判断唯一性函数c++
时间: 2023-08-11 15:05:46 浏览: 72
在 C++ 中可以使用 STL 中的 set 或 unordered_set 来判断唯一性。
set 是一个有序集合,其中的元素都是唯一的,使用时需要包含头文件 #include <set>,代码示例:
```c++
#include <set>
using namespace std;
bool isUnique(vector<int>& nums) {
set<int> s;
for (int i = 0; i < nums.size(); i++) {
if (s.find(nums[i]) != s.end()) { // 如果元素已经在集合中出现过,则返回 false
return false;
}
s.insert(nums[i]);
}
return true;
}
```
unordered_set 是一个无序集合,其元素也都是唯一的,使用时需要包含头文件 #include <unordered_set>,代码示例:
```c++
#include <unordered_set>
using namespace std;
bool isUnique(vector<int>& nums) {
unordered_set<int> s;
for (int i = 0; i < nums.size(); i++) {
if (s.find(nums[i]) != s.end()) { // 如果元素已经在集合中出现过,则返回 false
return false;
}
s.insert(nums[i]);
}
return true;
}
```
以上两个函数都是 O(n) 的时间复杂度。如果不使用 STL 中的集合,也可以使用哈希表来实现,时间复杂度也是 O(n)。
相关推荐
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.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)
![](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)