Назад к задачам
Junior — Middle+
5

Получить уникальные строки, упорядоченные по частоте появления

Получайте помощь с лайвкодингом в реальном времени с Sobes Copilot
Условие задачи

Создайте функцию, принимающую массив строк и возвращающую новый массив, содержащий только уникальные значения из исходного массива. При этом элементы должны быть отсортированы в порядке убывания количества их повторений в исходном наборе (от самых часто встречающихся к редким). При одинаковой частоте порядок между ними может быть произвольным.

Пример:

input_data = ["apple", "banana", "apple", "orange", "banana", "banana"]
# результат: ["banana", "apple", "orange"]

Функция должна работать за O(n log n) времени или лучше, где n — длина входного массива.