# [414. Third Maximum Number](https://leetcode.com/problems/third-maximum-number/description/)
# 思路
题意就是找出数组第三大的数，注意相同的数算作一个数，可以考虑遍历三次，第一次得到最大的数max1，第二次得到第二大的数max2，第三次就得到了第三大的数max3。   
注意可以用INT_MIN(在limits.h里)表示int型最小的数，另外需要用一个tag记录是否找到max3，否则当max3==INT_MIN时无法判断max3是否是真的第三大的值还是初始值。
# C++
```C++
class Solution {
public:
    int thirdMax(vector<int>& nums) {
        int max1 = INT_MIN, max2 = INT_MIN, max3 = INT_MIN, tag = 0;
        for(int num: nums)
            if(max1 <= num)
                max1 = num;
        for(int num: nums)
            if(max2 <= num && num != max1)
                max2 = num;
        for(int num: nums)
            if(max3 <= num && num != max1 && num != max2){
                max3 = num; 
                tag = 1;
            }
                
        if(tag == 0) return max1;
        return max3;
    }
};
```
