Re: [闲聊] 每日LeetCode

楼主: yam276 ('_')   2023-10-05 14:13:26
229. 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
}
}
作者: NTHUlagka (拉卡)   2023-10-05 15:21:00
大师 会发followup的解法吗
楼主: yam276 ('_')   2023-10-05 15:28:00
对Rust特性还不够熟 等熟了再这样解

Links booklink

Contact Us: admin [ a t ] ucptt.com