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[0] || arr[i] === max[1] || arr[i] === max[2]) continue; if (arr[i] > max[0]) { max[2] = max[1]; max[1] = max[0]; max[0] = arr[i]; } else if (arr[i] > max[1]) { max[2] = max[1]; max[1] = arr[i]; } else if (arr[i] > max[2]) { max[2] = arr[i]; } } return max[2] === -Infinity ? max[0] : max[2]; };