Sobes.tech
Назад к вопросам
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).