Cho danh sách 10 số với 6 số khác nhau, chỉ có 1 số lặp 5 lần. Tìm số trùng lặp chỉ dùng 2 phép so sánh. Ví dụ [1,2,3,4,4,4,4,4,5,6] → 4.
Vì chỉ có 10 số, số trùng lặp sẽ nằm ở chỉ số 3, 4, hoặc 5. Kiểm tra các chỉ số này.
Ví dụ mã nguồn
#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);
}
Kết quả đầu ra
Duplicate element: 4