LeetCode 414 Third Maximum Number(set + priority_queue)
来源:互联网 发布:linux screen 切换 编辑:程序博客网 时间:2024/05/18 10:40
Given a non-empty array of integers, return the third maximum number in this array. If it does not exist, return the maximum number. The time complexity must be in O(n).
Example 1:
Input: [3, 2, 1]Output: 1Explanation: The third maximum is 1.
Example 2:
Input: [1, 2]Output: 2Explanation: The third maximum does not exist, so the maximum (2) is returned instead.
Example 3:
Input: [2, 2, 3, 1]Output: 1Explanation: Note that the third maximum here means the third maximum distinct number.Both numbers with value 2 are both considered as second maximum.题目大意:给出一个非空的整型数组,编写程序返回第三大的数字。如果没有第三大的数字则返回最大的数字。
解题思路:因为数字有可能重复,所以用set维护已经出现的数字,然后再用优先队列来维护数组最大值和第三大的值。
代码如下:
class Solution {public: int thirdMax(vector<int>& nums) { for(auto a : nums){ if(st.count(a) == 0){ pque.push(a); st.insert(a); } } int thirdMax = pque.top(); if((int)st.size() >= 3) { pque.pop(); pque.pop(); thirdMax = pque.top(); } return thirdMax; }private: priority_queue<int> pque; set<int> st;};
阅读全文
0 0
- LeetCode 414 Third Maximum Number(set + priority_queue)
- LeetCode #414: Third Maximum Number
- Leetcode Third Maximum Number 414
- [LeetCode]414 Third Maximum Number
- LeetCode 414 --- Third Maximum Number
- Leetcode 414:Third Maximum Number
- [LeetCode 414] Third Maximum Number
- Leetcode 414 Third Maximum Number
- LeetCode 414 Third Maximum Number
- LeetCode.414 Third Maximum Number
- LeetCode Third Maximum Number
- LeetCode-Third Maximum Number
- [Leetcode] Third Maximum Number
- LeetCode: Third Maximum Number
- leetcode---Third Maximum Number
- LeetCode : Third Maximum Number
- leetcode[Third Maximum Number]
- LeetCode Third Maximum Number
- 使用Map对于两层for循环的一个优化
- 模拟log4j获取日志对象调用所在的类名、方法名及行号
- 知识体系
- C++ 动态规划-背包类例题
- POJ1001 Exponentiation
- LeetCode 414 Third Maximum Number(set + priority_queue)
- Intellij IDEA 全面教程
- getline()详解
- 如何解决问题“This Class is not Key Value Coding-Compliant for the Key”
- 去水印--《On the Effectiveness of Visible Watermarks》
- Opencv3.0+vs2015
- redash添加elasticsearch数据源
- Bound Found(POJ-2566)(尺取法 and 前缀和)
- 《principles of model checking》中的离散时间马尔科夫链