Third Maximum Number

Given a non-empty array of integers, return the third maximum number in this array. If it does not exist, return the maximum number. The time complexity must be in O(n).

Example

Example 1:

Input:
 [3, 2, 1]

Output:
 1

Explanation:
 The third maximum is 1.

Example 2:

Input:
 [1, 2]

Output:
 2

Explanation:
 The third maximum does not exist, so the maximum (2) is returned instead.

Example 3:

Note

缓存并更新三个变量,做round-robin

Code

Last updated