Find first two largest elements in a given array

Objective: Given an array of integers, write an algorithm to find the first two largest elements in the array.


Int [] a = {
6, 8, 1, 9, 2, 1, 10};

Output: 10,

Int [] a = {
6, 8, 1, 9, 2, 1, 10, 10};

Output: 10,

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


  1. Take two variables; let’s call them first and second and mark them as -∞.
  2. Iterate through the array and for each element (let’s call it current), 
    • Compare it with the first and if first is less, assign the first value to second and assign current to first.
    • 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 it to second.

See the code below for more understanding.



top two elements are: 10 9

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: