使用Java编写程序以查找整数数组中的第一个非重复数字?

查找数组中的第一个非重复数字-

  • 构造count数组以将给定数组中每个元素的计数存储为相同长度,且所有元素的初始值为0。

  • 将数组中的每个元素与除自身之外的所有其他元素进行比较。

  • 如果匹配发生,则增加其在计数数组中的值。

  • 获取count数组中第一个0的索引,并以该索引在输入数组中打印元素。

示例

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("");
      //创建计数数组
      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));
      //数组中的第一个非重复元素
      for(int i=0; i<array.length; i++) {
         if(countArray[i]==0) {
            System.out.println(array[i]);
            break;
         }
      }
   }
}

输出结果

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