1.穷尽搜索
void checkDuplicateBruteForce(int[] a,int n){
for(int i = 0;i<n;i++){
for(int j = i +1;j<n;j++){
if(a[i] == a[j]){
System.out.println("Dubplicates exist"+a[i]);
}
}
}
System.out.println("No duplicates in given array!");
}
降低算法复杂度:
堆给定的数组进行排序,排序后,值相等的所有元素相邻,
只需扫描该有序数组,检查是否存在值相等的相邻元素
void checkDuplicatesSorting(int a[],int n){
Arrays.sort(a);
for(int i = 0;i< n-1;i++){
if(a[i]==a[i+1]){
System.out.println("Buplicates exist:"+a[i]);
return;
}
}
System.out.println("No duplicates in array!")
}