java之返回陣列中的重複元素
阿新 • • 發佈:2020-12-30
給定一個數組,找出並返回陣列中的重複元素。
思路: 通過遍歷陣列,一旦發現重複元素就將該元素存入一個新的陣列中,但要注意,存入之前要檢查新陣列中是否存在該元素,如果新陣列中存在該元素,那麼就不再存入,還要注意記錄重複元素的個數哦!!
//程式碼實現
public class Demo1 {
public static void main(String[] args) {
int[] arr = {1,3,1,4,3,1,5,7,3,42,4,12,1,11,7,9,7,9};
int[] newArr = Serch(arr);
System. out.println(Arrays.toString(newArr));
}
public static int[] Serch(int[] arr) {
int[] arrNext = new int[arr.length-1]; //設定一個新的預設的一個數組長度
boolean flag = true;
int index = 0;
//查詢有多少個重複元素
for (int i = 0; i < arr.length-1; i++) {
flag = true;
for (int j = i+1 ; j < arr.length; j++ ) {
if (arr[i] == arr[j]) {
for (int j2 = 0; j2 < arrNext.length; j2++) {
if (arr[i] == arrNext[j2]) {
flag = false;
break;
}
}
if (flag == true) {
arrNext[index++] = arr[i];
}
break;
}
}
}
int[] newArr = new int[index];
for (int i = 0; i < newArr.length; i++) {
newArr[i] = arrNext[i];
}
return newArr;
}
}