[neetcode]중복 포함 여부 확인 문제
[neetcode]중복 포함 여부 확인 문제
중복 포함 여부 확인 (Contains Duplicate)
문제 설명
정수 배열 nums가 주어졌을 때, 배열에 어떤 값이라도 두 번 이상 나타나면 true를, 그렇지 않으면 false를 반환하세요.
입력 형식
- 정수 배열
출력 형식
- 중복값이 있으면 true, 없으면 false
예제 입력 및 출력
1
2
3
**예제 1:**
입력: nums = [1, 2, 3, 3]
출력: true
예제 2:
1
2
입력: nums = [1, 2, 3, 4]
출력: false
접근 방법
- 배열에서 중복값을 제거하기 위한 자료구조 사용(set)
- set에 담긴 element와 배열에 담긴 element의 길이 비교
시간 및 공간 복잡도
- 시간 복잡도: O(n) - 배열의 모든 요소를 한 번씩 순회합니다.
- 공간 복잡도: O(n) - 최악의 경우 모든 요소가 HashSet에 저장됩니다.
코드 구현
1
2
3
4
5
6
7
8
9
class Solution {
public boolean hasDuplicate(int[] nums) {
Set<Integer> distinctSet = new HashSet<>();
for(int num : nums){
distinctSet.add(num);
}
return distinctSet.size() == nums.length ? false : true;
}
}
This post is licensed under CC BY 4.0 by the author.