作者yam276 (史萊哲林的優等生)
看板Marginalman
標題Re: [閒聊] 每日LeetCode
時間Thu Oct 5 14:13:26 2023
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