Isaac Emmanuel
15 Jun 2024•EasyC++ / Python / TypeScript

Third Maximum Number

C++, Python and TypeScript solutions for Third Maximum Number.

The Third Maximum Number solutions are below.

Solution files

Python•third-maximum-number/synced-solution.py
def thirdMax(nums):
    unique_nums = list(set(nums))

    if len(unique_nums) < 3:
        return max(unique_nums)

    unique_nums.sort(reverse=True)
    return unique_nums[2]
C++•third-maximum-number/synced-solution.cpp
class Solution {
public:
    int thirdMax(vector<int>& nums) {
        set<int> unique_nums(nums.begin(), nums.end());

        if (unique_nums.size() < 3) {
            return *unique_nums.rbegin();
        }

        int count = 0;
        for (auto it = unique_nums.rbegin(); it != unique_nums.rend(); ++it) {
            if (++count == 3) {
                return *it;
            }
        }

        return -1;
    }
};
TypeScript•third-maximum-number/synced-solution.ts
function thirdMax(nums: number[]): number {
    const unique = new Set(nums);

    if (unique.size < 3) {
        return Math.max(...unique);
    }

    const sorted = Array.from(unique).sort((a, b) => b - a);
    return sorted[2];
}