Middle+
42
Сіз бір миллион саннан тұратын массивте қайталанулар бар-жоғын қалай тексерер едіңіз?
Сұралған компаниялар
Клиент ОТП
AI-дан жауап
sobes.tech AI
Чтобы проверить наличие дубликатов в массиве из 1 миллиона чисел на Java, можно использовать HashSet для эффективного поиска повторов:
import java.util.HashSet;
public boolean hasDuplicates(int[] arr) {
HashSet<Integer> seen = new HashSet<>();
for (int num : arr) {
if (!seen.add(num)) { // add возвращает false, если элемент уже есть
return true; // найден дубликат
}
}
return false; // дубликатов нет
}
Этот способ имеет сложность O(n) по времени и O(n) по памяти, что приемлемо для миллиона элементов. Если память ограничена, можно отсортировать массив и проверить соседние элементы на равенство, но сортировка будет O(n log n).