how can we get the duplicates in an array using xor code example

Example 1: find duplicate in an array using xor

int DuplicateNumber(int arr[], int size){
    int ans=0;
    for(int i=0;i<size;i++){
        ans= ans ^ arr[i] ; 
    }
    for(int i=0;i<=size-2;i++){
        ans= ans ^ i;
    }
    return ans;
   }

Example 2: find duplicate in an array using xor

int DuplicateNumber(int arr[], int size){
    /* Don't write main().
     * Don't read input, it is passed as function argument.
     * Return output and don't print it.
     * Taking input and printing output is handled automatically.
     */
    
    int ans=0;
    for(int i=0;i<size;i++){
        ans= ans ^ arr[i] ;
       
    }
    for(int i=0;i<=size-2;i++){
        ans= ans ^ i;
       
    }
    return ans;
    

}

Tags:

Misc Example