程式語言 - LeetCode - C++ - 414. Third Maximum Number



題目:


解答:

class Solution {
public:
    int thirdMax(vector<int>& nums) {
        long n1 = LONG_MIN;
        long n2 = LONG_MIN;
        long n3 = LONG_MIN;

        for (int n : nums) {
            if (n1 == n || n2 == n || n3 == n) {
                continue;
            }

            if (n > n1) {
                n3 = n2;
                n2 = n1;
                n1 = n;
            }
            else if (n > n2) {
                n3 = n2;
                n2 = n;
            }
            else if (n > n3) {
                n3 = n;
            }
        }

        return n3 == LONG_MIN ? n1 : n3;
    }
};