Ich habe den folgenden Algorithmus, der Duplikate findet und entfernt:
public static int numDuplicatesB(int[] arr) {
Sort.mergesort(arr);
int numDups = 0;
for (int i = 1; i < arr.length; i++) {
if (arr[i] == arr[i - 1]) {
numDups++;
} }
return numDups;
}
Ich versuche, die schlimmste zeitliche Komplexität zu finden. Ich weiß, dass Mergesort ist nlog(n)
, und in meiner for-Schleife iteriere ich über den gesamten Datensatz, sodass dies als gilt n
. Ich bin mir jedoch nicht sicher, was ich mit diesen Zahlen anfangen soll. Soll ich sie einfach zusammenfassen? Wenn ich das machen würde, wie würde ich es machen?