2つの配列をマージして2つの配列にコピーする際に問題があります。私は配列をマージする次のコードを書いていますが、最後の配列から重複を取り除く方法はわかりません。配列がすでにソートされているとします。2つの配列をマージしてJavaで重複を削除します
public static int[] merge(int[] list1, int[] list2) {
int[] result = new int[list1.length + list2.length];
int i = 0;
int j = 0;
for (int k = 0; k < (list1.length + list2.length); k++) {
if (i >= list1.length) {
result[k] = list2[j];
j++;
}
else if (j >= list2.length) {
result[k] = list1[i];
i++;
}
else {
if (list1[i] < list2[j]) {
result[k] = list1[i];
i++;
} else {
result[k] = list2[j];
j++;
}
}
}
return result;
}
マージする前にそれらを削除します。 –
私は、問題のコンテキストが何であるか、またはプログラムのメモリ使用量/速度がどれほど重要かはわかりませんが、コレクションの使用を開始する必要があります。これをすべて1行または2行で行うことができます。 – MikaelF