【发布时间】:2014-07-02 18:58:21
【问题描述】:
找到了这个解决方案来制作这个方法:
int[] withoutDuplicates(int[] a){
int n = a.length;
if (n < 2) {
return a;
}
for (int i = 0; i < n-1; i++) {
for (int j = i+1; j < n; j++) {
if (a[j] == a[i]) {
--n;
System.arraycopy(a, j+1, a, j, n-j);
--j;
}//end if
} //end for
}//end for
int[] aa = new int[n];
System.arraycopy(a, 0, aa, 0, n);
return aa;
}//end method
我不明白为什么它使用长度为 n 的数组。它的大小不应该是 n 减去删除的重复项的数量吗? 这是实现该方法的最佳方式吗?或者有什么我可以使用的 java 资源?
【问题讨论】:
-
它是 n减去重复的数量。
--n
标签: java arrays algorithm sorting