English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Escribir un programa en Java para encontrar el primer número no repetido en un array de enteros?

Encontrar el primer número no repetido en el array-

  • Construir un array de conteo para almacenar el conteo de cada elemento del array dado en una longitud igual, con valores iniciales de 0 para todos los elementos.

  • Comparar cada elemento del array con todos los demás elementos excepto él mismo.

  • Si ocurre una coincidencia, aumentar su valor en el array de conteo.

  • Obtener la posición del primer 0 en el array de conteo y imprimir el elemento en la posición correspondiente del array de entrada.

Ejemplo

import java.util.Arrays;
public class NonRpeatingArray {
   public static void main(String args[]) {
      int array[] = {114, 225, 669, 996, 336, 6547, 669, 225, 336, 669, 996, 669, 225 };
      System.out.println("");
      //Crear un array de conteo
      int countArray[] = new int[array.length];
      for(int i=0; i<array.length; i++) {
         countArray[i] = 0;
      }
      for(int i=0; i<array.length; i++) {
         for(int j=0; j<array.length;j++) {
            if(i!=j && array[i]==array[j]) {
               countArray[i]++;
            }
         }
      }
      System.out.println(Arrays.toString(countArray));
      //El primer elemento no repetido del array
      for(int i=0; i<array.length; i++) {
         if(countArray[i]==0) {
            System.out.println(array[i]);
            break;
         }
      }
   }
}

Resultado de salida

[0,​ 2, 3, 1, 1, 0,​ 3, 2, 1, 3, 1, 3, 2]
114