use std::collections::HashMap;
struct Solution{
}
impl Solution {
fn new() -> Self {
Solution{}
}
/**
* 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
*
*
* @param numbers int整型一维数组
* @return int整型
*/
pub fn MoreThanHalfNum_Solution(&self, numbers: Vec<i32>) -> i32 {
// write code here
let mut hash_table = HashMap::new();
let n = numbers.len();
for number in numbers {
if hash_table.contains_key(&number) {
(*hash_table.get_mut(&number).unwrap())+=1;
} else {
hash_table.insert(number, 1);
}
if hash_table[&number] * 2 > n {
return number;
}
}
return -1;
}
}