※ 引述《ZooseWu (動物園 公告)》之銘言:
: 思路差不多
: 但是我看不懂yam的程式碼 哭了
快速使用HashMap:
*nums_map.entry(num).or_insert(0) += 1;
.entry(num) : 尋找key(num)-value是存在
.or_insert(0) : key(num)-value存在
就會給你value的可變引用並進行後面操作(+=1)
key(num)-value不存在
則會用初始值(0)建立一對key(num)-value
並給你value的可變引用
再用這個可變引用做後面操作(+=1)
從map根據value設條件取得key:
let result: Vec<i32> = nums_count_map
.iter()
取得iter
.filter(|&(_, &value)| value > times)
lambda取得value > n/3 的 pair
.map(|(&key, _)| key)
從pair取得key
.collect();
回傳 把key放進result: Vec<i32>