15 Jun 2024C++ / Python / TypeScriptEasy

Third Maximum Number

Collected C++, Python, TypeScript solutions for third maximum number. Add a dedicated write-up later if you want deeper notes.

auto-generated entry for Third Maximum Number. the solution files are available below.

solution files

  • C++ third-maximum-number/synced-solution.cpp
  • Python third-maximum-number/synced-solution.py
  • TypeScript third-maximum-number/synced-solution.ts

Solution files

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

    if len(unique_nums) < class="syntax-number">3:
        return max(unique_nums)

    unique_nums.sort(reverse=True)
    return unique_nums[class="syntax-number">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() < class="syntax-number">3) {
            return *unique_nums.rbegin();
        }

        int count = class="syntax-number">0;
        for (auto it = unique_nums.rbegin(); it != unique_nums.rend(); ++it) {
            if (++count == class="syntax-number">3) {
                return *it;
            }
        }

        return -class="syntax-number">1;
    }
};
TypeScriptthird-maximum-number/synced-solution.ts
function thirdMax(nums: number[]): number {
    const unique = new Set(nums);

    if (unique.size < class="syntax-number">3) {
        return Math.max(...unique);
    }

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