Temukan elemen unik dalam array di mana semua elemen lain terjadi 3 kali, menggunakan logika boolean

// Find the unique element in an array where all other elements occur three times
// Uses boolean logic
fn lone_number(a:&mut [i32] ) -> i32 {
    let mut ones = 0;
    let mut twos = 0;
    for item in a.iter(){
        ones = (ones ^ item) & !twos;
        twos = (twos ^ item) & !ones;
    } 
    ones
}

fn main() {
    let mut a: [i32; 10] = [ 1, 2, 3, 1, 2, 3, 5, 1, 2, 3 ];
    println!("Lone number is {}", lone_number(&mut a ));
}
Mackerel