Для поиска повторяющихся элементов в массиве можно использовать различные подходы. Рассмотрим два простых способа.
- Использование вложенных циклов:
int[] arr = {1, 2, 3, 4, 5, 2, 3};
for (int i = 0; i < arr.length; i++) {
for (int j = i + 1; j < arr.length; j++) {
if (arr[i] == arr[j]) {
System.out.println("Повторяющийся элемент: " + arr[i]);
}
}
}
В данном примере мы используем два вложенных цикла for, чтобы перебрать все пары элементов массива и сравнить их между собой. Если находим два одинаковых элемента, то выводим сообщение о том, что найден повторяющийся элемент.
- Использование класса HashSet:
int[] arr = {1, 2, 3, 4, 5, 2, 3};
Set<Integer> set = new HashSet<>();
for (int i = 0; i < arr.length; i++) {
if (!set.add(arr[i])) {
System.out.println("Повторяющийся элемент: " + arr[i]);
}
}
Здесь мы используем класс HashSet для хранения уникальных элементов массива. Метод add() добавляет элемент в множество и возвращает true, если элемент ранее не был добавлен. Если элемент уже есть в множестве и метод add() возвращает false, то мы выводим сообщение о том, что найден повторяющийся элемент.
Оба способа позволяют найти все повторяющиеся элементы в массиве. Однако, первый способ имеет временную сложность O(n^2), так как использует два вложенных цикла, а второй способ - O(n), так как использует хэш-таблицу для быстрого поиска уникальности элементов.
1606 вопрос-ответ по Java: https://github.com/DEBAGanov/interview_questions
Tелеграмм канал: https://t.me/DEBAGanov
Мое резюме: https://github.com/DEBAGanov