美文网首页
TopK问题

TopK问题

作者: Chenluoluo | 来源:发表于2018-04-04 17:07 被阅读0次

    出现次数最多的K个

    解题步骤:

    1. 把所有的数据存到map里
    2. 构造K个的大根堆
    3. 输出大根堆

    第K大的数

    解题步骤:

    方法一:对所有元素进行排序,之后取出前K个元素,不提倡使用
    方法二:只需要对前K个元素排序,不需要对N-K个元素进行排序,不提倡使用
    方法三:利用hash保存数组中元素Si出现的次数,利用计数排序的思想,线性从大到小扫描过程中,前面有k-1个数则为第k大数,

    最大/最小的前K个数

    解题步骤:

    1. 挑出前K个树组成大根堆/小根堆
    2. 从K+1到N与大根堆最大/小的树比较,如果大/小就替换他
    3. 输出大根堆

    相关文章

      网友评论

          本文标题:TopK问题

          本文链接:https://www.haomeiwen.com/subject/udtlhftx.html