Azi_Libs/arr/
mod.rs

1use std::collections::HashMap;
2
3/// 计算 vec 里出现次数最多的元素
4pub fn count_show<T: Eq + std::hash::Hash + Clone>(v: &Vec<T>) -> Option<T> {
5    let mut hm: HashMap<&T, i32> = HashMap::new();
6    for item in v {
7        let num = hm.entry(item).or_insert(0);
8        *num += 1;
9    }
10
11    let mut most: Option<T> = None;
12    let mut max: &i32 = &0;
13    for (&k, val) in &hm {
14        if val > max {
15            most = Some(k.clone());
16            max = val;
17        }
18    }
19    most
20}