給定一個(gè)整數(shù)數(shù)組,判斷是否存在重復(fù)元素昨寞。
如果任意一值在數(shù)組中出現(xiàn)至少兩次瞻惋,函數(shù)返回 true 。如果數(shù)組中每個(gè)元素都不相同援岩,則返回 false 歼狼。
示例 1:
輸入: [1,2,3,1]
輸出: true
示例 2:
輸入: [1,2,3,4]
輸出: false
示例 3:
輸入: [1,1,1,3,3,4,3,2,4,2]
輸出: true
本題是力扣上為數(shù)不多的一道水題,沒(méi)什么難度享怀,無(wú)論是用哈希表還是排序之后遍歷都是很容易就想到的策略羽峰。
用哈希表就是O(N)的時(shí)間復(fù)雜度,而排序中最快的則是O(NlogN),最后還需要遍歷梅屉。
用哈希表代碼如下:
class Solution {
public:
bool containsDuplicate(vector<int>& nums) {
set<int> mySet;
for(int n:nums ){
if(mySet.find(n)!=mySet.end()){
return true;
}
mySet.insert(n);
}
return false;
}
};
來(lái)源:力扣(LeetCode)
鏈接:https://leetcode-cn.com/problems/contains-duplicate
著作權(quán)歸領(lǐng)扣網(wǎng)絡(luò)所有值纱。商業(yè)轉(zhuǎn)載請(qǐng)聯(lián)系官方授權(quán),非商業(yè)轉(zhuǎn)載請(qǐng)注明出處坯汤。