LeetCode題解(0692):前K個高頻單詞(Python)

長行發表於2020-11-20

題目:原題連結(中等)

標籤:堆、排序、雜湊表

解法時間複雜度空間複雜度執行用時
Ans 1 (Python) O ( W + K l o g W ) O(W+KlogW) O(W+KlogW) O ( W ) O(W) O(W)64ms (91.39%)
Ans 2 (Python)
Ans 3 (Python)

解法一(自定義堆排序):

class Solution:
    def topKFrequent(self, words: List[str], k: int) -> List[str]:
        count = collections.Counter(words)
        lst = heapq.nsmallest(k, count.keys(), key=lambda x: (-count[x], x))
        return lst

相關文章