我有以下算法,该算法查找重复项并将其删除:
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;
}
我试图找到这种情况下最坏的情况。我知道mergesort是nlog(n)
,在我的for循环中,我正在遍历整个数据集,因此算作n
。我不确定该如何处理这些数字。我应该把它们加在一起吗?如果要这样做,我将如何做?