Senior
71
Wie würdest du das Vorhandensein von Duplikaten in einem Array von einer Million Zahlen überprüfen?
Unternehmen wurden gefragt
Umbrella IT
Antwort von AI
sobes.tech KI
Для проверки наличия дубликатов в массиве из одного миллиона чисел можно использовать несколько подходов:
- Использование HashSet:
- Пройти по массиву, добавляя каждый элемент в HashSet.
- Если элемент уже есть в HashSet, значит найден дубликат.
import java.util.HashSet;
public boolean hasDuplicates(int[] arr) {
HashSet<Integer> set = new HashSet<>();
for (int num : arr) {
if (!set.add(num)) {
return true; // дубликат найден
}
}
return false; // дубликатов нет
}
- Сортировка массива:
- Отсортировать массив.
- Пройти по нему и проверить соседние элементы на равенство.
Этот способ требует O(n log n) времени на сортировку, а HashSet — в среднем O(n) по времени.
Для массива из миллиона элементов HashSet — оптимальный вариант по времени, при условии достаточной памяти.