STL-priority_queue

原创 2016年05月30日 16:25:25

参考http://www.cplusplus.com/reference/queue/priority_queue/priority_queue/

347. Top K Frequent Elements

most votes:

class Solution {
public:
    vector<int> topKFrequent(vector<int>& nums, int k) {
        unordered_map<int,int> map;
        for(int num : nums){
            map[num]++; 
        }

        vector<int> res;
        // pair<first, second>: first is frequency,  second is number
        priority_queue<pair<int,int>> pq; 
        for(auto it = map.begin(); it != map.end(); it++){
            pq.push(make_pair(it->second, it->first));
            if(pq.size() > (int)map.size() - k){
                res.push_back(pq.top().second);
                pq.pop();
            }
        }
        return res;
    }
};
  1. unordered_map < int, int > //value初始为0

  2. priority_queue < pair < int, int> >

【priority_queue】默认从大到小

top() : return the greatest element.

pop() : pop the greatest element.

【priority_queue排序】

默认的排序函数:
pair< int, int > 在pair中从第一个元素到最后一个元素为基排序

If you do not specify your own comparator, sorting is done by a built-in function compare. From first member to last member in pair. compare works for many types of values, ordering them in one particular way: increasing numeric order for numbers; lexicographic order (aka dictionary order) for strings, symbols, and keywords; shortest-to-longest order by Clojure vectors, with lexicographic ordering among equal length vectors.

priority_queue < int, vector < int >, greater< int >() > //改为从小到大

版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

STL中priority_queue

  • 2011-03-07 12:32
  • 34KB
  • 下载

STL系列之五 priority_queue 优先级队列

此文转载,原文地址:http://blog.csdn.net/morewindows/article/details/6976468 priority_queue 优先级队列是一个拥有权值概念的...

C++ STL priority_queue

原文网址:点击打开链接 priority_queue 对于基本类型的使用方法相对简单。他的模板声明带有三个参数,priority_queue Type 为数据类型, Container 为...

看病要排队 (HDU 1873)—— STL priority_queue(重载)

这道题做了我挺久,主要是优先队列中要用到结构体类型,而我对结构体不是特别熟。。。 当然,最后还是看了下别人的代码,最终才写出来。。。 只是对于operator

stl源码剖析 详细学习笔记priority_queue slist

// //  priority_queue.cpp //  笔记 // //  Created by fam on 15/3/16. // // ...

C++ STL priority_queue

priority_queue 对于基本类型的使用方法相对简单。他的模板声明带有三个参数,priority_queue Type 为数据类型, Container 为保存数据的容器,Functional...

C++优先队列解决哈夫曼(Huffmam)编码问题 (STL priority_queue)

优先队列解决哈夫曼(Huffmam)编码问题 (STL priority_queue)

STL常用函数复习之————priority_queue

//priority_queue 优先队列 //队列中最大的元素总是位于队首,出队时先出最大的元素 (优先队列是 从大到小 排列)(可以重载 < 重新定义比较规则) #include using na...

STL里的priority_queue用法

转自:http://apps.hi.baidu.com/share/detail/15680297在STL里有这个priority_queue,实现优先队列的结构。在优先队列中,优先级高的元素先出队列...

C++ STL源码学习(priority_queue内部heap篇)

C++ STL源码之priority_queue依赖数据结构heap实现
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)