สมมติเรามีรายการ 6 ตัวเลขที่ต่างกัน มีเพียงตัวเลขเดียวที่ซ้ำ 5 ครั้ง ดังนั้นมีสมาชิกทั้งหมด 10 ตัวในอาร์เรย์ หาตัวเลขซ้ำโดยใช้การเปรียบเทียบเพียงสองครั้ง ถ้ารายการเป็น [1, 2, 3, 4, 4, 4, 4, 4, 5, 6] เอาต์พุทคือ 4
เนื่องจากมีตัวเลขเพียง 10 ตัว สำหรับตัวเลขซ้ำประเภทใดก็ตาม ช่วงของตัวเลขจะอยู่ที่ดัชนี 3 ถึง 5 โดยการตรวจสอบดัชนีเหล่านี้ เราสามารถหาผลลัพธ์ได้
ตัวอย่าง
#include <iostream>
using namespace std;
int getDuplicate(int array[]) {
if (array[3] == array[4])
return array[3];
else if (array[4] == array[5])
return array[4];
else
return array[5];
}
int main() {
int a[] = {1, 2, 3, 4, 4, 4, 4, 4, 5, 6};
cout << "Duplicate element: " << getDuplicate(a);
}
ผลลัพธ์
Duplicate element: 4