//2.有一個數列,奇數個,其中有3個是單個的, 其它都是成對的,怎麼找出其中任意一個單個的數 public static void singleNum(){ int a[] = new int[]{5,-2,4,4,5,3,-9,-2}; //記錄不用參加比較的索引 int b[] = new int[a.length/2]; int i=0; int piv = a[0]; int j=1; int n=0; while(j<a.length){ if(piv==a[j]){ i++; piv = a[i]; b[n] = j; n++; j=i+1; }else if(contains(b,j)){ i++; piv=a[i]; }else{ j++; } } System.out.println("單個的數爲:"+ piv); } /** * 判斷是否包含 */ public static boolean contains(int a[],int num){ for(int i=0;i<a.length;i++){ if(a[i] == num){ return true; } } return false; }