Ctrl K

Самые частые запросы

Средняя
Дан журнал поисковых запросов queries — каждый запрос состоит из одного слова — и число k. Верните k слов, которые встречаются в журнале чаще всего. Слова в ответе упорядочите по убыванию частоты. Слова с одинаковой частотой идут в алфавитном порядке. Попробуйте уложиться в O(n log k) времени и O(n) дополнительной памяти.
Пример 1
queries=["tea", "cake", "tea", "jam", "cake", "tea", "bun"], k=3 → ['tea', 'cake', 'bun']

"tea" встречается 3 раза, "cake" — 2, а "bun" и "jam" — по разу. Из двух последних раньше по алфавиту "bun".

Пример 2
queries=["red", "blue", "red", "blue", "green"], k=2 → ['blue', 'red']

"red" и "blue" встречаются по два раза, поэтому порядок между ними решает алфавит.

Ограничения
  • 1 ≤ len(queries) ≤ 500
  • 1 ≤ len(queries[i]) ≤ 10
  • queries[i] состоит из строчных латинских букв
  • 1 ≤ k ≤ число различных слов в queries
Встречал эту задачу на настоящем собесе?
Решили0
Пробовали0
Отправок0
Принято—
Темы
Похожие задачиСамые частые значения СредняяСимволы, сгруппированные по частоте СредняяЗадания с перерывом на остывание СредняяСлово, выращенное по букве СредняяБез одинаковых соседей Средняя
загружаем Python…
Вход
queries=["tea", "cake", "tea", "jam", "cake", "tea", "bun"], k=3
Ожидается
['tea', 'cake', 'bun']

«Запустить» — первые 3 теста у тебя в браузере, «Отправить» — все 91 тест на сервере, включая скрытые.