Class Solution

  • All Implemented Interfaces:

    
    public final class Solution
    
                        

    692 - Top K Frequent Words.

    Medium

    Given an array of strings words and an integer k, return the k most frequent strings.

    Return the answer sorted by the frequency from highest to lowest. Sort the words with the same frequency by their lexicographical order.

    Example 1:

    Input: words = "i","love","leetcode","i","love","coding", k = 2

    Output: "i","love"

    Explanation: "i" and "love" are the two most frequent words. Note that "i" comes before "love" due to a lower alphabetical order.

    Example 2:

    Input: words = "the","day","is","sunny","the","the","the","sunny","is","is", k = 4

    Output: "the","is","sunny","day"

    Explanation: "the", "is", "sunny" and "day" are the four most frequent words, with the number of occurrence being 4, 3, 2 and 1 respectively.

    Constraints:

    • 1 <= words.length <= 500

    • 1 <= words[i].length <= 10

    • words[i] consists of lowercase English letters.

    • k is in the range <code>[1, The number of unique wordsi]</code>

    Follow-up: Could you solve it in O(n log(k)) time and O(n) extra space?

    • Nested Class Summary

      Nested Classes 
      Modifier and Type Class Description
    • Field Summary

      Fields 
      Modifier and Type Field Description
    • Constructor Summary

      Constructors 
      Constructor Description
      Solution()
    • Enum Constant Summary

      Enum Constants 
      Enum Constant Description
    • Method Summary

      Modifier and Type Method Description
      final List<String> topKFrequent(Array<String> words, Integer k)
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait