Sobes.tech
Назад к вопросам
Senior
6

//Найти первый не повторяющийся элемент в массиве целых чисел int[] arr = {9, 4, 9, 6, 7, 4, 5}; int n = ...;

Компании, где спрашивали
IT OneIT One

Ответ от нейросети

sobes.tech AI

Чтобы найти первый неповторяющийся элемент в массиве целых чисел, можно использовать два прохода:

  1. В первом проходе подсчитать количество вхождений каждого числа с помощью HashMap.
  2. Во втором проходе пройти по массиву и вернуть первый элемент, у которого количество вхождений равно 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 — длина массива.