我创建了一个搜索重复项然后将重复项索引存储到另一个数组中的方法。然后我遍历我的大数组并移动所有条目而不重复。
现在,我的问题是它使用 O(N*N) 并且我正在使用额外的内存空间,因为我正在添加额外的数组。
怎么可能做到这一点?假设我需要了解如何在不使用其他库或 HashSet 的情况下完成此操作。
任何提示表示赞赏。
public void dups()
{
int[] index = new int[100];
int k = 0;
int n = 0;
int p = 0;
for (int i = 0; i < elements; i++)
for (int j = i + 1; j < elements; j++)
if(a[j].equals(a[i]))
index[k++] = i;
for (int m = 0; m < elements; m++)
if (m != index[p])
a[n++] = (T) a[m];
else
p++;
elements -= k;
}