給你一個整數(shù)數(shù)組 nums 。如果任一值在數(shù)組中出現(xiàn) 至少兩次 ,返回 true ;如果數(shù)組中每個元素互不相同,返回 false 。
方法一:排序
在對數(shù)字從小到大排序之后,數(shù)組的重復(fù)元素一定出現(xiàn)在相鄰位置中。因此,我們可以掃描已排序的數(shù)組,每次判斷相鄰的兩個元素是否相等,如果相等則說明存在重復(fù)的元素。
class Solution {
public:
bool containsDuplicate(vector<int>& nums) {
sort(nums.begin(), nums.end());
int n = nums.size();
for (int i = 0; i < n - 1; i++) {
if (nums[i] == nums[i + 1]) {
return true;
}
}
return false;
}
};
方法二:哈希表
對于數(shù)組中每個元素,我們將它插入到哈希表中。如果插入一個元素時發(fā)現(xiàn)該元素已經(jīng)存在于哈希表中,則說明存在重復(fù)的元素。文章來源:http://www.zghlxwxcb.cn/news/detail-563121.html
class Solution {
public:
bool containsDuplicate(vector<int>& nums) {
unordered_set<int> s;
for (int x: nums) {
if (s.find(x) != s.end()) {
return true;
}
s.insert(x);
}
return false;
}
};
知識點:
vector容器及其成員函數(shù)總結(jié)
文章來源地址http://www.zghlxwxcb.cn/news/detail-563121.html
到了這里,關(guān)于判斷數(shù)組中是否有重復(fù)元素的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!