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.

You may also like...

%d bloggers like this: