Middle+
Hogyan ellenőrizné, hogy vannak-e duplikátumok egy millió számot tartalmazó tömbben?
sobes.tech MI
Válasz az MI-től
Чтобы проверить наличие дубликатов в массиве из 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).