楼主:
yam276 ('_')
2023-10-05 14:13:26229. Majority Element II
找个一个长度 n 的整数阵列出现次数大于 n/3 的成员
思路:
先用HashMap计算次数
然后把符合次数的放进Vec回传
Code:
use std::collections::HashMap;
impl Solution {
pub fn majority_element(nums: Vec<i32>) -> Vec<i32> {
let times = (nums.len() / 3) as i32;
let mut nums_count_map: HashMap<i32, i32> = HashMap::new();
for num in &nums {
*nums_count_map.entry(*num).or_insert(0) += 1;
}
let result: Vec<i32> = nums_count_map
.iter()
.filter(|&(_, &value)| value > times)
.map(|(&key, _)| key)
.collect();
result
}
}