精華區beta Marginalman 關於我們 聯絡資訊
※ 引述《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> -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 60.248.143.163 (臺灣) ※ 文章網址: https://www.ptt.cc/bbs/Marginalman/M.1696487856.A.D91.html ※ 編輯: yam276 (60.248.143.163 臺灣), 10/05/2023 14:38:04
ZooseWu: 那為什麼是0ms 10/05 14:39
yam276: 可能HashMap效率高吧 但這語言參考解參考真的很煩 10/05 14:42
yam276: 因為我除了 for一次之外都是在操作HashMap 10/05 14:43
ZooseWu: for一次正常而言就不會是0ms了吧 10/05 14:48
yam276: 不知道他怎麼算的 10/05 14:52