Назад к вопросам
IT One
Senior
6
//Найти первый не повторяющийся элемент в массиве целых чисел int[] arr = {9, 4, 9, 6, 7, 4, 5}; int n = ...;
Компании, где спрашивали
Ответ от нейросети
sobes.tech AI
Чтобы найти первый неповторяющийся элемент в массиве целых чисел, можно использовать два прохода:
- В первом проходе подсчитать количество вхождений каждого числа с помощью
HashMap. - Во втором проходе пройти по массиву и вернуть первый элемент, у которого количество вхождений равно 1.
Пример на Java:
import java.util.*;
public class Solution {
public static Integer firstNonRepeating(int[] arr) {
Map<Integer, Integer> countMap = new HashMap<>();
for (int num : arr) {
countMap.put(num, countMap.getOrDefault(num, 0) + 1);
}
for (int num : arr) {
if (countMap.get(num) == 1) {
return num;
}
}
return null; // если нет неповторяющихся элементов
}
public static void main(String[] args) {
int[] arr = {9, 4, 9, 6, 7, 4, 5};
Integer n = firstNonRepeating(arr);
System.out.println(n); // Выведет 6
}
}
Такой подход эффективен по времени — O(n), где n — длина массива.