重複を検索し、重複インデックスを別の配列に格納するメソッドを作成しました。次に、大きな配列を実行し、すべてのエントリを重複せずに移動します。
さて、私の問題は、これが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;
}