

# cpp stl
```cpp
class Solution {
public:
    bool containsDuplicate(vector<int>& nums) {
        set<int> numSet(nums.begin(), nums.end());
        return numSet.size() != nums.size();
    }
};
```

- set으로 단순비교. 편리하나, 정렬에 비해 시간이 오래 걸림.
- unordered_set을 쓰면 set 방식에서 조금 더 빠를 수는 있음

```cpp
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;
    }
};
```

- 둘 다 O(n logn)의 시간 복잡도이나, 자료 특성 상 정렬이 더 빠름





