workshophub563992

Two ways to solve word frequency counting

Nov 11th, 2026
13
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.07 KB | None | 0 0
  1. Two ways to solve word frequency counting
  2.  
  3. У большинства учебных задач есть минимум два честных решения — сравним их.
  4.  
  5. Задача
  6.  
  7. Дан текст. Посчитать, сколько раз встречается каждое слово, и вывести слова по убыванию частоты.
  8.  
  9. Решение
  10.  
  11. ``python
  12. from collections import Counter
  13.  
  14. def word_count(text: str) -> list[tuple[str, int]]:
  15. words = text.lower().split()
  16. return Counter(words).most_common()
  17.  
  18. print(word_count("a b a c b a"))
  19. `
  20.  
  21. Как это работает
  22.  
  23. Текст разбивается на слова, Counter подсчитывает вхождения за линейное время, а most_common() сразу возвращает отсортированный список пар.
  24.  
  25. Пример работы
  26.  
  27. `text
  28. [('a', 3), ('b', 2), ('c', 1)]
  29. ``
  30.  
  31. Сложность
  32.  
  33. O(n) по времени по числу слов, O(k) по памяти по числу уникальных.
  34.  
  35. Альтернативный подход
  36.  
  37. Ту же задачу часто решают иначе: например, через рекурсию вместо цикла или через стандартную библиотеку вместо ручной реализации. Альтернатива обычно короче, но первое «ручное» решение лучше показывает механику работы алгоритма. Полезно написать оба и сравнить на одинаковых тестах.
  38.  
  39. Выбор между решениями — это баланс читаемости и скорости: для учебной задачи важнее первый.
  40.  
  41. View Full Gallery → https://go.cbrop.com/prse
  42.  
  43. Related:
  44.  
  45. https://pastebin.com/6Mca5XrJ
  46. https://pdfhost.io/v/D9JJxbzWKu
  47. https://edu-notes-pages.pages.dev/palindrome-razbor/
  48. https://kappa.lol/GH07wg
  49. https://newatsapp.altervista.org/wp-content/uploads/event-manager-uploads/event_banner/2026/11/urlilmai-06f034.pdf
  50.  
Advertisement
Add Comment
Please, Sign In to add comment