728x90
반응형
주어진 정수 배열에서 중복된 숫자가 있는지 확인하는 문제입니다. 아래는 문제의 자세한 설명입니다:
문제 설명:
정수 배열 nums가 주어집니다. 이 배열에서 중복된 숫자가 존재하는지 여부를 판단하세요. 중복된 숫자가 하나라도 존재하면 true를 반환하고, 중복된 숫자가 없으면 false를 반환하세요.
예시:
Input: [1,2,3,1]
Output: true
배열에 중복된 숫자 1이 존재하므로 true를 반환합니다.
Input: [1,2,3,4]
Output: false
배열에 중복된 숫자가 없으므로 false를 반환합니다.
노트:
주어진 배열 nums의 길이는 10^5 이하입니다.
이 문제를 해결하는 간단한 방법은 배열을 순회하면서 숫자를 저장하면서 이미 저장한 숫자가 나타나면 true를 반환하는 것입니다. 또는 배열을 정렬한 후 인접한 원소들을 비교하여 중복 여부를 확인할 수도 있습니다. 해시맵(HashMap)을 사용하여 빠르게 중복 여부를 확인할 수도 있습니다.
방법 1: 배열을 순회하면서 중복 확인
public bool ContainsDuplicate(int[] nums) {
HashSet<int> seen = new HashSet<int>();
foreach (int num in nums) {
if (seen.Contains(num)) {
return true;
}
seen.Add(num);
}
return false;
}
방법 2: 정렬 후 인접한 원소 비교
public bool ContainsDuplicate(int[] nums) {
Array.Sort(nums);
for (int i = 1; i < nums.Length; i++) {
if (nums[i] == nums[i - 1]) {
return true;
}
}
return false;
}
방법 3: 해시맵 사용
public bool ContainsDuplicate(int[] nums) {
Dictionary<int, int> numMap = new Dictionary<int, int>();
foreach (int num in nums) {
if (numMap.ContainsKey(num)) {
return true;
}
numMap[num] = 1;
}
return false;
}
728x90
반응형
'Leetcode' 카테고리의 다른 글
219. Contains Duplicate II (0) | 2023.10.28 |
---|---|
268. Missing Number (0) | 2023.10.28 |
136. Single Number (0) | 2023.10.25 |
108. Convert Sorted Array to Binary Search Tree (1) | 2023.10.25 |
19. Remove Nth Node From End of List (0) | 2023.10.24 |