Написано: 16.03.2023

692. K наиболее частых слов (Top K Frequent Words)

medium

Задание.

Дан массив строк words и целое k

Верните k наиболее часто встречающихся строк.

Верните ответ, отсортированный по частоте от самой высокой к самой низкой. Слова с одинаковой частотой отсортируйте по их лексикографическому порядку.

Пример 1.

Входные данные: words = [ “i”, “love”, “leetcode”, “i”, “love”, “coding” ], k = 2

Результат: [ “i”, “love” ]

Пояснение: “i” и “love” – два наиболее часто употребляемых слова. Обратите внимание, что “i” стоит перед “love” из-за более низкого алфавитного порядка.

Пример 2.

Входные данные: words = [ “the”, “day”, “is”, “sunny”, “the”, “the”, “the”, “sunny”, “is”, “is” ], k = 4

Результат: [ “the”, “is”, “sunny”, “day” ]

Пояснение: “the”, “is”, “sunny” и “day” – четыре наиболее часто встречающихся слова, с количеством повторений 4, 3, 2 и 1 соответственно.

Решение.

class Solution {
public:
    vector<string> topKFrequent(vector<string>& words, int k) {
        
    }
};

Способ решения.