5th November 2026

Шаг за шагом: подсчёт частот слов

Пройдём задачу шаг за шагом — такой формат удобен для первого знакомства с алгоритмами.

Задача

Дан текст. Посчитать, сколько раз встречается каждое слово, и вывести слова по убыванию частоты.

Решение


from collections import Counter


def word_count(text: str) -> list[tuple[str, int]]:
    words = text.lower().split()
    return Counter(words).most_common()


print(word_count("a b a c b a"))

Как это работает

Текст разбивается на слова, Counter подсчитывает вхождения за линейное время, а most_common() сразу возвращает отсортированный список пар.

Пример работы


[('a', 3), ('b', 2), ('c', 1)]

Сложность

O(n) по времени по числу слов, O(k) по памяти по числу уникальных.

Разбор по шагам

1. Шаг 1. Входные данные. Проверяем, что приходит в функцию, и какие значения считаются корректными. 2. Шаг 2. Основной цикл. Именно здесь происходит вся работа; следим за изменениями переменных на каждой итерации. 3. Шаг 3. Результат. Убеждаемся, что возвращаемое значение соответствует условию задачи, включая крайние случаи.

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


Related:

Шаг за шагом: переворот строки

cool giannis antetokounmpo wallpaper

kara dlanio

t先生系列

nn liliana model

小池 栄子 ヌード 写真

href="//paper.wf/nina1983log/mrvine"> href="//workshopeb1353.notepin.co/palindrome-oshibki">Частые ошибки при решении: проверка палиндрома

Пошаговый разбор: шифр Цезаря