# Write a Program to Find Third Maximum Number

# 414. Third Maximum Number

Given an integer array nums, return the third distinct maximum number in this array. If the third maximum does not exist, return the maximum number.

```### Example 1:
```
Input: nums = [3,2,1]
Output: 1
Explanation:
The first distinct maximum is 3.
The second distinct maximum is 2.
The third distinct maximum is 1.
```
```
```### Example 2:
```
Input: nums = [1,2]
Output: 2
Explanation:
The first distinct maximum is 2.
The second distinct maximum is 1.
The third distinct maximum does not exist, so the maximum (2) is returned instead.
```
```
```Constraints:
```
1 <= nums.length <= 104
-231 <= nums[i] <= 231 - 1
```
```
```/**
* @param {number[]} nums
* @return {number}
*/
var thirdMax = function(arr) {
const max = [-Infinity, -Infinity, -Infinity];
for (let i = 0; i < arr.length; i++) {
if (arr[i] === max || arr[i] === max || arr[i] === max) continue;

if (arr[i] > max) {
max = max;
max = max;
max = arr[i];
} else if (arr[i] > max) {
max = max;
max = arr[i];
} else if (arr[i] > max) {
max = arr[i];
}
}
return max === -Infinity ? max : max;
};
```