Find the third maximum number in array.
Given a non-empty array of integers, return the third maximum number in this array.If it does not exist, return the maximum number, and algorithm must work in O(n).
Solution:
- Create three buckets for variable to hold first, second and third max values.
- When updating first bucket with new value then update second bucket with old first bucket value.
- When updating second bucket with new value then, update third bucket with old second bucket value
Latest Source Code:
Github: ThirdMaximumNumberInArray.java
Output:
Array : [3, 2, 1] Third Smallest: 1 Array : [-2147483648, -2147483648, -2147483648, -2147483648, 1, 1, 1] Third Smallest: 1 Array : [2, 2, 3, 1] Third Smallest: 1