How to find the majority element in int array with Rust

1 Answer

0 votes
#![allow(non_snake_case)]

fn getMajorityElement(arr: &mut [usize]) -> usize {        
    let mut num: [usize; 10] = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0];
    
    let len = arr.len();
    {
        let mut i = 0;
        while i < len {
            num[arr[i]] += 1;
            i += 1;
        }
    }
    
    {
        let mut i = 0;
        while i < 9 {
            if num[i] != 0 {
                println!("{:?} : {:?}", i, num[i]);
                if num[i] > len / 2 {
                    return i;
                }
            }
            i += 1;
        }
    }
    
    return 0;
}

fn main() {        
    let mut arr = [2, 5, 3, 5, 5, 1, 5, 5, 5, 7, 3];
    
    let majority = getMajorityElement(&mut arr);
    
    if majority != 0 {
        println!("majority element = {:?}",majority);
    }
    else {
        println!("Majority element doesn\'t exists");
    }
}





/*
run:

1 : 1
2 : 1
3 : 2
5 : 6
majority element = 5

*/

 



answered Apr 22, 2023 by avibootz

Related questions

1 answer 116 views
1 answer 123 views
1 answer 104 views
1 answer 118 views
1 answer 115 views
1 answer 91 views
1 answer 155 views
...