Покажу решение и коротко сравню его с альтернативным подходом.
Задача
Дан текст. Посчитать, сколько раз встречается каждое слово, и вывести слова по убыванию частоты.
Решение
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:
- assdepik - Типичные ошибки при решении: переворот строки - twitter türk ensest - Решаем и тестируем: проверка скобочной последовательности - Loland Melissa Olga 79 Photo - Типичные ошибки при решении: переворот строки - سكس مترجم بجودة عاليه - retro anal - mom son ipcam - Типичные ошибки при решении: бинарный поиск - Медленно и подробно: сумма цифр числа - Решаем и тестируем: вычисление факториала - baby126g - south asian sex 154655875411554321 - teenage pokies - سكس car - 一只可爱简 - Осваиваем задачу: решето Эратосфена - davj-633 - Решаем и тестируем: бинарный поиск - hritu - Проверяем решение тестами: сортировка слиянием - افلام سكس مصري مدرب الكاراتيه | فيديوهات عنتيل المحلة - queenkalin onlyfans
Kommentit