Given an integer array nums, return true if any value appears at least twice in the array, and return false if every element is distinct.
정수 배열 nums가 주어졌을 때, 배열에 값이 두 번 이상 나타나면 true를 반환하고, 모든 요소가 다르면 false를 반환합니다.
Example 1:
Input: nums = [1,2,3,1]
Output: true
Explanation:
The element 1 occurs at the indices 0 and 3.
Example 2:
Input: nums = [1,2,3,4]
Output: false
Explanation:
All elements are distinct.
Example 3:
Input: nums = [1,1,1,3,3,4,3,2,4,2]
Output: true
Constraints:
- 1 <= nums.length <= 10^5
- -10^9 <= nums[i] <= 10^9
코드 1
- 중복된 수가 없다면, 기존 배열의 크기와 집합의 크기는 같아야 한다.
class Solution {
fun containsDuplicate(nums: IntArray): Boolean {
return if (nums.size == nums.toSet().size) false else true
}
}
코드 2
- 중복된 수가 있다면, 기존 배열의 크기는 집합의 크기보다 크다.
class Solution {
fun containsDuplicate(nums: IntArray): Boolean {
return nums.size > nums.toSet().size
}
}
코드 3
- 배열의 원소를 확인하기 위해 집합을 준비한다.
- 배열의 원소를 탐색하면서 중복된 원소가 있는지 검사한다. 만약 존재하면 nums 는 중복된 원소를 가지고 있다.
class Solution {
fun containsDuplicate(nums: IntArray): Boolean {
val hs = HashSet<Int>()
for (num in nums) {
if (num in hs) {
return true
}
hs.add(num)
}
return false
}
}
'LeetCode > Array & Hashing' 카테고리의 다른 글
[LeetCode][Kotlin] 118. Pascal's Triangle (0) | 2024.08.13 |
---|---|
[LeetCode][Kotlin] 49. Group Anagrams (0) | 2024.08.13 |
[LeetCode][Kotlin] 242. Valid Anagram (0) | 2024.08.12 |