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) по памяти по числу уникальных.

Альтернативный подход

Ту же задачу часто решают иначе: например, через рекурсию вместо цикла или через стандартную библиотеку вместо ручной реализации. Альтернатива обычно короче, но первое «ручное» решение лучше показывает механику работы алгоритма. Полезно написать оба и сравнить на одинаковых тестах.

Оба подхода рабочие; важно понимать цену каждого, а не копировать первый попавшийся.


Related:

Ensest Twitter Türk İfşa ve Gizli Ensest Videoları

宮原眼科 英文介紹

alekssecret OnlyFans Leaks - Nude Photos and Videos

Пошаговый разбор: среднее значение списка

montanasvibe

Типичные ошибки при решении: наибольший общий делитель

Частые ошибки при решении: проверка палиндрома

too twisted taboo nude

solo leveling manga continue

draculin onlyfans sex