gpt4 book ai didi

arrays - 如何在 Rust 中为 Vec 编写计数器函数?

转载 作者:行者123 更新时间:2023-12-05 01:54:09 26 4
gpt4 key购买 nike

<分区>

函数名称: my_counter
输入: ['foo', 'bar', 'bar', 'bar', 'bar']]
输出: {'foo': 1, 'bar': 4}

注意:输出类型是HashMap ,不是HashMap<&str, usize>。

这是我的实现,我认为它有一点开销。 “bar”已被转换为字符串四次,但可能不需要。

pub fn my_counter(vec: &Vec<String>) -> HashMap<String, usize> {
let mut result: HashMap<String, usize> = HashMap::new();
for key in vec.iter() {
let val = result.entry(key.to_string()).or_insert(0);
*val += 1;
}
result
}

有人愿意分享更好的解决方案吗?非常感谢~

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com