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