박종훈 알고리즘 블로그

(Leetcode) 217 - Contains Duplicate

https://neetcode.io/practice

위 링크에 있는 문제들을 eazy 부터 시간이 있을때마다 풀어보려고 한다.


https://leetcode.com/problems/contains-duplicate/description/

내가 작성한 풀이

import java.util.HashSet;
import java.util.Set;

class Solution {
    public boolean containsDuplicate(int[] nums) {
        Set<Integer> numSet = new HashSet<>();
        for (int num : nums) {
            if (numSet.contains(num)) {
                return true;
            }
            numSet.add(num);
        }
        return false;
    }
}

set을 이용하여 문자가 사용된 적이 있는지 체크한다. 만약 set에 해당 문자가 있으면 중복이 있다는 뜻이므로 바로 true 를 반환한다.

TC, SC

이 풀이의 시간 복잡도는 O(n)이고, 공간 복잡도는 O(n)이다.