#![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
*/