So entfernen Sie Duplikate aus einem Array ohne Verwendung effizientJava

Java-Forum
Anonymous
 So entfernen Sie Duplikate aus einem Array ohne Verwendung effizient

Post 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;
}

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post