Упражнения по Rust
Word Frequency Counter in Rust
Count how often each word appears with a HashMap and print the most common ones.
Что вы узнаете
- split_whitespace
- entry().or_insert(0)
- Sorting by count
counts
"the"3"brown"1"dog"1The word is the key, the count is the value
Counting words is a typical job for a hash map: the word is the key and the number of times it appears is the value.
entry(word).or_insert(0) returns the counter for the word, creating it at 0 the first time. The pairs are then sorted by count, highest first, and by word when the counts are equal, so the output is always the same.
Главное
- entry creates the counter the first time.
- Sort by count, then by word.
take(3)keeps the top three.
Пример на Rust, который можно запустить
Rust
main.rs
use std::collections::HashMap;
fn main() {
let text = "the quick brown fox jumps over the lazy dog the end";
let mut counts: HashMap<&str, u32> = HashMap::new();
for word in text.split_whitespace() {
*counts.entry(word).or_insert(0) += 1;
}
let mut entries: Vec<(&str, u32)> = counts.into_iter().collect();
entries.sort_by(|a, b| b.1.cmp(&a.1).then(a.0.cmp(b.0)));
for (word, count) in entries.iter().take(3) {
println!("{word}: {count}");
}
}
the: 3
brown: 1
dog: 1Практика
Откройте пример в онлайн-компиляторе, измените значение или добавьте строку и попробуйте предсказать вывод до запуска. Затем намеренно сломайте код и прочитайте сообщение компилятора.
Закончили этот урок?
Отметьте его как изученный, чтобы следить за прогрессом.
Ваш прогресс сохранён в этом браузере Войдите, чтобы он был доступен на всех устройствах.
Попрактикуйтесь на задаче
Примените материал этого урока к реальной задаче. Каждая задача запускается в браузере, с мгновенными тестами и разбором от ИИ.
- Подсчёт слов Посчитайте количество слов в предложении. Легко
- Частота символов Посчитайте, сколько раз встречается каждый символ. Легко