1、排序
我们可以对数组进行排序,若数组中出现相邻且相等的元素则返回 true。
class Solution {
public:
bool containsDuplicate(vector<int> &nums) {
sort(nums.begin(), nums.end());
for (int i = 0; i < nums.size() - 1; ++i) {
if (nums[i] == nums[i + 1]) {
return true;
}
}
return false;
}
};
2、哈希集合
我们可以使用哈希集合来记录数组中的每一个元素,若哈希集合中已经存在当前元素则返回 true。
class Solution {
public:
bool containsDuplicate(vector<int> &nums) {
unordered_set<int> hs;
for (int i: nums) {
if (!hs.count(i)) {
hs.insert(i);
} else {
return true;
}
}
return false;
}
};