思路就是新建一个数组,把原数组的元素赋进去,再去除因此产生的0。
import java.util.Arrays;
public class Solution {
public static void main(String[] args) {
int[] array1 = {1,2,3,4,4};
int[] array2 = {3,1,4,1,5,9,2,6,5,3,5,8,9,3,9};
int[] array3 = {1,1,1,1};
showNonDuplicateArray(array1);
showNonDuplicateArray(array2);
showNonDuplicateArray(array3);
}
public static void showNonDuplicateArray(int[] a) {
int[] newArr = new int[a.length];
int index = 0; // 新数组存储元素索引(或者说无重复的个数)
outer: for (int i = 0; i < a.length; i++) {
for (int j = i + 1; j < a.length; j++) {
//当数据重复时,跳出外圈循环
if (a[i] == a[j]) {
continue outer;
}
}
// 后面没有与当前元素重复的值,保存这个数
newArr[index] = a[i];
index++;
}
// 新数组中存储着无重复的值和后面一些0
int[] result = new int[index];
for (int i = 0; i < index; i++) { // 遍历有效值个数
result[i] = newArr[i];
}
System.out.println(Arrays.toString(result));
}
}