Page 1 of 1

So entfernen Sie Duplikate aus einem Array ohne Verwendung effizient

Posted: 08 May 2025, 15:32
by Anonymous
Ich wurde gebeten, meine eigene Implementierung zu schreiben, um doppelte Werte in einem Array zu entfernen. Hier ist, was ich geschaffen habe. Aber nach Tests mit 1.000.000 Elementen dauerte es sehr lange, bis es fertig war. Gibt es etwas, das ich tun kann, um meinen Algorithmus oder Fehler zu verbessern?

Ich muss meine eigene Implementierung schreiben - nicht set , Hashset usw. oder andere Tools wie Iteratoren. Einfach ein Array zum Entfernen von Duplikaten. < /Strong> < /p>

Code: Select all

public static int[] removeDuplicates(int[] arr) {

int end = arr.length;

for (int i = 0; i < end; i++) {
for (int j = i + 1; j < end; j++) {
if (arr[i] == arr[j]) {
int shiftLeft = j;
for (int k = j+1; k < end; k++, shiftLeft++) {
arr[shiftLeft] = arr[k];
}
end--;
j--;
}
}
}

int[] whitelist = new int[end];
for(int i = 0; i < end; i++){
whitelist[i] = arr[i];
}
return whitelist;
}