Kth and Top k

Catalog:
[骨骼清奇]LC 692 Top K Frequent Words
[骨骼清奇]LC 347 Top K Frequent Element
[Uber]414Third Maximum Number

LC 692 Top K Frequent Words

    def topKFrequent(self, words, k):
        d = {}
        for word in words:
            d[word] = d.get(word, 0) + 1
        
        ret = sorted(d, key=lambda word: (-d[word], word))
        
        return ret[:k]

First, we have a frequency Counter, then we could do
(1)Heap: pushing onto min-heap, pop when size >K
(2)bucket sort: dict of list, key is freq and value is list of words, if it is integer, we can just output it key times!

LC 347 Top K Frequent Element
Input: nums = [1,1,1,2,2,3], k = 2
Output: [1,2]

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • rljs by sennchi Timeline of History Part One The Cognitiv...
    sennchi阅读 7,448评论 0 10
  • 如果时间被分割成无数个片段。我们打乱顺序,一切重来,会不会故事里的人就不会再东南西北再不相见。 1、 2018年4...
    所见即所见阅读 146评论 0 0
  • YAML 试图用一种比XML更敏捷的方式,来完成XML所完成的任务,在未来可能会成为配置文件一个主流,应用场景大多...
    keymanye阅读 1,552评论 1 0