题解 | #字符统计#
字符统计
http://www.nowcoder.com/practice/c1f9561de1e240099bdb904765da9ad0
- 解法一:
Vec
use std::io;
fn main() {
let mut s = String::new();
io::stdin().read_line(&mut s).expect("Failed to read line");
let mut v = Vec::new();
for i in 48..58u8 {
v.push((i,0u16));
}
for i in 97..123u8 {
v.push((i,0u16));
}
for i in s.into_bytes() {
match i {
97..=122 => v[i as usize - 87].1 += 1,
48..=57 => v[i as usize - 48].1 += 1,
_ => {}
}
}
v.sort_by(|a,b|b.1.cmp(&(a.1)));
for (u,num) in v.iter() {
if *num != 0 {
print!("{}",char::from(*u));
}else{
break;
}
}
}
解法二:HashMap:
waiting...
用 Rust 刷华为机试HJ 文章被收录于专栏
用 Rust 刷 HJ100 题,只需要懂基础 Rust 语法就能看懂