兩種做法
一種先sort, 然後前後比對
時間複雜度為O(nlogn), 空間O(1)
class Solution {
public:
bool containsDuplicate(vector<int>& nums) {
unordered_set<int> st;
for(int i = 0; i < nums.size();i++){
if(st.count(nums[i])){
return true;
}else{
st.insert(nums[i]);
}
}
return false;
}
};
另一種用hashtable
時間複雜度為O(n), 空間O(n)
class Solution {
public:
bool containsDuplicate(vector<int>& nums) {
unordered_set<int> st;
for(int i = 0; i < nums.size();i++){
if(st.count(nums[i])){
return true;
}else{
st.insert(nums[i]);
}
}
return false;
}
};