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

1 Answer

0 votes
fn get_number_that_occurring_an_odd_number_of_times_in_array(arr: &[i32]) -> i32 {
    let mut value = 0;

    for &num in arr {
        value ^= num;
    }

    for &num in arr {
        if num == value {
            return value;
        }
    }

    -1
}

fn main() {
    let arr = [1, 1, 2, 2, 2, 2, 3, 3, 5, 4, 4, 4, 4, 5, 5, 5, 3];
    
    println!("{}", get_number_that_occurring_an_odd_number_of_times_in_array(&arr));
}

  
  
/*
run:
  
3
  
*/

 



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

Related questions

...