leetcode 大顶推 小顶堆 优先队列实现前K大/小 (347、692、451、973、373)
347前K个高频元素题目描述:给定一个非空的整数数组,返回其中出现频率前k高的元素。思路:用map统计每个元素出现的次数,map的数据格式相当于pair。建立小顶堆,保持优先队列的大小为k,当优先队列已经装满k个元素后,再向队列中push数据时,如果大于堆顶数据,则压入队列,并将最上面的数据pop出去(即pop出当前队列中最小的元素);如果小于,则不进行入队列出队列的操作。具体的思路及时间复杂度见