Find third largest element in a given array

Objective: Given an array of integers, write an algorithm to find the third largest element in the array.

Example:

Int [] a = { 6, 8, 1, 9, 2, 1, 10}
Output: Third largest element - 8

Int [] a = { 6, 8, 1, 9, 2, 1, 10, 10}
Output: Third largest element - 9

Int [] a = {6}
Output: Invalid Input, array size is less than 3

Approach:

  1. Take three variables; let’s call them first, second and third and mark them as -∞.
  2. Iterate through the array and for each element (let’s call it current),  
    1. Compare it with the first and if first is less, assign the first value to second and second value to third and assign current to first.
    2. If above step is not true then current element might be a candidate of second highest element, so check if current>second, if yes then assign second value to third and assign current to second.
    3. If above step is not true then current element might be a candidate of third highest element, so check if current>third, if yes then assign current to third.
  3. At the end print the third, it will third largest element in the array.

See the code below for more understanding.

Code:

Output:

Third Largest Element is: 8

__________________________________________________
Top Companies Interview Questions..-

Google Microsoft Amazon Facebook more..

If you find anything incorrect or you feel that there is any better approach to solve the above problem, please write comment.
__________________________________________________

%d bloggers like this: