https://leetcode-cn.com/problems/third-maximum-number/
这道题说的第三大的数是指不重复的第三大的数。而不是说排序后的第三大的数。所以在判断的时候要和前两大的数不同。
class Solution {
public:
int thirdMax(vector<int>& nums) {
long long m1, m2, m3;
long long mn = (long long)INT_MIN - 1;
m1 = m2 = m3 = mn;
for(int i : nums)
{
if(i > m1) {
m3 = m2;
m2 = m1;
m1 = i;
}
else if(i != m1 && i > m2) {
m3 = m2;
m2 = i;
}
else if(i != m1 && i != m2 && i > m3)
m3 = i;
}
if(m3 == mn || m2 == mn || m1 == mn) return m1;
return m3;
}
};