본문 바로가기
알고리즘

[알고리즘] Contains Duplicate

by keel_im 2021. 1. 21.
반응형

포인트

1. 중복이 있는지 확인을 하는 코드이다.

2. set을 활용하여 중복이 제거된 크기 기존 크기를 비교하여 중복을 체크한다.

🧶문서는 항상 수정 될 수 있습니다. 비판은 환영합니다. 

c++

##include <vector>
#include <unordered_set>

using namespace std;

class Solution
{
public:
    bool containsDuplicate(vector<int> &nums)
    {
        unordered_set<int> set;

        for (auto ele : nums)
        {
            if (set.empty())
            {
                set.insert(ele);
                continue;
            }
            auto it = set.find(ele);
            if (it == set.end())
            {
                set.insert(ele);
            }
            else
            {
                return true;
            }
        }

        return false;
    }

    bool containsDuplicate2(vector<int> &nums)
    {
        unordered_set<int> set(nums.begin(), nums.end());

        return (nums.size() != set.size()) ? true : false;
    }
};

 

python

class Solution:
    def containsDuplicate(self, nums: List[int]) -> bool:
        s = {}
        for ele in nums:
            if(len(s)==0):
                s.add(ele)
                continue
            
            if(ele not in s):
                s.add(ele)
            else:
                return True
        return False

    def containsDuplicate2(self, nums: List[int]) -> bool:
        s = set(nums)
        return True if len(s)!=len(nums) else False

 

반응형

'알고리즘' 카테고리의 다른 글

[알고리즘] Valid Parentheses  (0) 2021.01.21
[알고리즘] Valid Anagram  (0) 2021.01.21
[알고리즘] Reverse String  (0) 2021.01.21
[알고리즘] Shuffle the Array  (0) 2021.01.19
[알고리즘] Number of Good Pairs  (0) 2021.01.19

댓글