Назад к вопросам
Middle+
6
Как бы вы проверили, есть ли дубликаты в массиве из 1 миллиона чисел?
Компании, где спрашивали
Клиент ОТП
Ответ от нейросети
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).