演算法(輸出一個數組中的重複數,(並非全部重複數))
阿新 • • 發佈:2019-01-29
陣列長度為n+1,元素範圍1-n,輸出一個重複的數。
public class TheSameNumber1 { private int theSameNumber(int[] a) { int b[]=new int[a.length]; for (int index=0;index<a.length;index++) { b[index]=0; } int i,n; i=0; n=a.length; while (i<n){ if(a[i]!=i){ intj=a[i]; if(b[j]==0) b[j]=a[i]; else return b[j]; i++; } else{ i++; } } return -1; } public static void main(String []args){ int []a={3,2,1,1,4}; TheSameNumber1 n=new TheSameNumber1();int k=n.theSameNumber(a); if(k>-1) { System.out.println("重複數字為:"+k); }else System.out.println("無重複數字!"); } }