How to find the number occurring an odd number of times in an array with C++

1 Answer

0 votes
#include <iostream>

int get_number_that_occurring_an_odd_number_of_times_in_array(int const* arr, int len) {
    int value = 0; 
     
    for (int i = 0; i < len; i++) {
        value ^= arr[i];
    }
    for (int i = 0; i < len; i++) {
        if (arr[i] == value) {
            return value;
        }
    }
 
    return -1; 
}
 
int main()
{
    int arr[] = {2, 3, 7, 2, 8, 8, 8, 8, 3, 0, 0, 7, 7};
    int size = sizeof(arr) / sizeof(arr[0]);
     
    std::cout << get_number_that_occurring_an_odd_number_of_times_in_array(arr, size);
}
 
 
 
/*
run:
 
7
 
*/

 



answered Aug 30, 2022 by avibootz
edited Aug 18, 2024 by avibootz

Related questions

...