Tôi gặp một bài đăng How to find a duplicate element in an array of shuffled consecutive integers? nhưng sau đó nhận ra rằng điều này không thành công đối với nhiều đầu vào.Sử dụng toán tử XOR để tìm các phần tử trùng lặp trong một mảng không thành công trong nhiều trường hợp
Đối với ví dụ:
arr[] = {601,602,603,604,605,605,606,607}
#include <stdio.h>
int main()
{
int arr[] = {2,3,4,5,5,7};
int i, dupe = 0;
for (i = 0; i < 6; i++) {
dupe = dupe^a[i]^i;
}
printf ("%d\n", dupe);
return 0;
}
Làm thế nào tôi có thể sửa đổi mã này để các yếu tố trùng lặp có thể được tìm thấy cho tất cả các trường hợp?
Tôi đã xem qua bài đăng nói về bù trừ mà tôi không thể hiểu được http://stackoverflow.com/questions/8018086/xor-to-find-duplicates-in-an-array Ai có thể đề xuất điều gì đó .. ?? – Snehasish