Упражнения по Rust

Word Frequency Counter in Rust

Count how often each word appears with a HashMap and print the most common ones.

  • Начальный
  • Чтение: 2 мин
  • Примеров для запуска: 1
Что вы узнаете
  • split_whitespace
  • entry().or_insert(0)
  • Sorting by count
counts
"the"3
"brown"1
"dog"1

The 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.

Главное

  1. entry creates the counter the first time.
  2. Sort by count, then by word.
  3. 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

Практика

Откройте пример в онлайн-компиляторе, измените значение или добавьте строку и попробуйте предсказать вывод до запуска. Затем намеренно сломайте код и прочитайте сообщение компилятора.

Закончили этот урок?

Отметьте его как изученный, чтобы следить за прогрессом.

Далее: Iterators →

Попрактикуйтесь на задаче

Примените материал этого урока к реальной задаче. Каждая задача запускается в браузере, с мгновенными тестами и разбором от ИИ.

Все задачи