알고리즘

[leetcode] ContainsDuplicate

nayeonee__ 2023. 9. 29. 00:50

[문제] https://leetcode.com/problems/contains-duplicate/description/

주어진 정수 배열 nums 에서 값이 배열에서 두 번 이상 나타나면 true 를 반환, 그렇지 않다면 false 를 반환

 

[풀이 과정]

배열에서 중복된 값이 있는지 없는지 확인할 수 있는 Set 을 사용하였다.

배열을 set 에 저장한 후 set 의 길이와 배열의 길이를 비교하였다.

set 의 size 와 nums 의 길이가 같다면 중복된 요소가 없다는 의미로 false 반환

set 의 size 와 nums 의 길이가 다르다면 중복된 요소로 인해 set 의 size 가 줄었다는 의미니까 true 를 반환했다.

 

 

[풀이 코드]

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

public class ContainsDuplicate {
    public boolean containsDuplicate(int[] nums) {

        Set<Integer> hashSet = new HashSet<>();
        for (int i = 0; i < nums.length; i++) {
            hashSet.add(nums[i]);
        }

        if (hashSet.size() == nums.length) {
            return false;
        }
        return true;
    }
}

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

[leetcode] Valid Parentheses  (0) 2023.10.03
[leetcode] Best Time to Buy and Sell Stock  (0) 2023.09.30
[백준] 2309 _ 일곱난쟁이  (0) 2023.09.19
[백준] 13300 _ 방배정  (0) 2023.09.19
[백준] 11726 _ 2XN 타일링  (1) 2023.09.13