Mi sono imbattuto in un post How to find a duplicate element in an array of shuffled consecutive integers? ma in seguito mi sono reso conto che questo non funziona per molti input.L'utilizzo dell'operatore XOR per la ricerca di elementi duplicati in un array ha esito negativo in molti casi
Per esempio:
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;
}
Come posso modificare il codice in modo che l'elemento duplicato può essere trovato per tutti i casi?
Mi sono imbattuto in un post che parla di compensazione che non riesco a capire http://stackoverflow.com/questions/8018086/xor-to-find-duplicates-in-an-array Qualcuno può suggerire qualcosa .. ?? – Snehasish