ฉันมีอัลกอริทึมติดตามซึ่งพบการซ้ำและลบออก:
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)และในของฉันสำหรับห่วงฉัน iterating nกว่าชุดข้อมูลทั้งหมดเพื่อที่จะนับเป็น ฉันไม่แน่ใจว่าจะทำอย่างไรกับตัวเลขเหล่านี้ ฉันควรรวมพวกเขาเข้าด้วยกันไหม? ถ้าฉันจะทำอย่างนั้นฉันจะทำอย่างไร

มีฟังก์ชั่นทั้งหมดที่ - เริ่มต้นจากจุดใหญ่โดยพลการ
- เล็กกว่าเสมอ
