精華區beta Marginalman 關於我們 聯絡資訊
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 } } -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 60.248.143.163 (臺灣) ※ 文章網址: https://www.ptt.cc/bbs/Marginalman/M.1696486408.A.43F.html
NTHUlagka: 大師 會發followup的解法嗎 10/05 15:21
yam276: 對Rust特性還不夠熟 等熟了再這樣解 10/05 15:28