This post is about writing a Java program to find the top two numbers (largest and second largest) in a given array.
Condition here is that you should not be using any inbuilt Java classes or methods (i.e. Arrays.sort) or any data structure.
Solution to find largest and second largest number in an array
Logic here is to have two variables for first and second number and iterate the array. Compare each array element with the first number if first number is less than the array element then assign existing first number to second number and array element to the first number.
If first number is greater than the array element then check if second element is less than the array element, if yes then assign array element to the second number.
Largest and second largest number in array Java program
public class FindTopTwo { public static void main(String[] args) { int numArr[] = {2, 5, 14, 1, 26, 65, 123, 6}; // Assign lowest possible int value int firstNum = Integer.MIN_VALUE; int secondNum = Integer.MIN_VALUE; for(int i = 0; i < numArr.length; i++){ if(firstNum < numArr[i]){ secondNum = firstNum; firstNum = numArr[i]; }else if(secondNum < numArr[i]){ secondNum = numArr[i]; } } System.out.println("Top two numbers : First - " + firstNum + " Second " + secondNum); } }
Output
Top two numbers : First - 123 Second 65
That's all for this topic Find Largest and Second Largest Number in Given Array Java Program. If you have any doubt or any suggestions to make please drop a comment. Thanks!
>>>Return to Java Programs Page
Related Topics
You may also like-