J'ai l'algorithme suivant qui trouve les doublons et les supprime:
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;
}
J'essaie de trouver le pire cas de complexité temporelle de cela. Je sais que mergesort est nlog(n)
, et dans ma boucle for, j'itère sur l'ensemble des données afin que cela compte n
. Je ne sais pas quoi faire de ces chiffres. Dois-je simplement les additionner ensemble? Si je devais le faire, comment le ferais-je?