Contains Duplicate
https://leetcode.com/problems/contains-duplicate | Easy |
Условие
Дана целочисленный массив nums, верните true, если в массиве есть дубликаты, и false, если их нет.
Примеры
Input:
nums = [1, 2, 3, 1]Output:
trueExplanation:
1 повторяется.
Input:
nums = [1, 2, 3, 4]Output:
falseExplanation:
Нет дубликатов.
Input:
nums = [1, 1, 1, 3, 3, 4, 3, 2, 4, 2]Output:
true
Решение
fun containsDuplicate(nums: IntArray): Boolean {
// Создаем пустой набор для хранения уникальных элементов
val seen = mutableSetOf<Int>()
// Проходим по каждому числу в массиве
for (num in nums) {
// Если число уже есть в наборе, значит, это дубликат
if (!seen.add(num)) {
return true // Возвращаем true
}
}
return false // Если не нашли дубликатов, возвращаем false
}
Временная сложность
O(n), где n — количество элементов в массиве, так как мы проходим по всем элементам один раз.
Пространственная сложность
O(n), в худшем случае, когда все элементы массива уникальны, мы сохраняем все элементы в наборе.