算法题
来源:1-1 哈希表基础
weixin_慕圣6334738
2022-02-07 09:46:36
老师您好,想请教下您leetcode1353题代码库中第二个方法(Using priority queue)代码背后的思路是怎么样的? 同时,由于是java出身没太看懂这段代码, 我猜大概就是把原数组的每一个都推入优先队列,
但是这段代码中是怎么定义那个数组是优先的呢?
相关代码:
priority_queue<pair<int, int>, vector<pair<int, int>>, greater<pair<int, int>>> pq; for(const vector<int>& e: events) pq.push(make_pair(e[0], e[1]));
感谢您的回复:)
1回答
liuyubobobo
2022-02-07
C++ 中的优先队列默认是最大堆,你给出的写法定义了一个最小堆。
所以对于每一个一个 pair,先比较第一个元素,第一个元素不同的情况下,越小越先出队。在第一个元素相同的情况下,看第二个元素,第二个元素越小越先出队。
继续加油!:)
相似问题