Please note, this is a STATIC archive of website www.javatpoint.com from 19 Jul 2022, cach3.com does not collect or store any user information, there is no "phishing" involved.
Javatpoint Logo
Javatpoint Logo

Missing Number in An Arithmetic Progression in Java

It is very interesting problem frequently asked in interviews of top IT companies like Google, Amazon, TCS, Accenture, etc. By solving the problem, one wants to check the logical ability, critical thinking, and problem-solving skill of the interviewee. So, in this section, we are going to find missing number in an arithmetic progression in Java with different approaches and logic. Also, we will create Java programs for the same.

Problem Statement

An array is given. The array contains some numbers that represent an arithmetic progression. In the arithmetic progression, one number is missing. The task is to find that missing number.

Example 1:

Input:

int arr[] = {3, 5, 7, 9, 11, 15, 17, 19}

Output: 13

Explanation: If we put the number 13 after number 11 in the input array, the arithmetic progression is complete. Hence, the answer is 13

Example 2:

Input:

int arr[] = {1, 7, 13, 19, 31, 37, 43}

Output: 25

Explanation: If we put the number 25 after the number 19 in the input array, the arithmetic progression is complete. Hence, the answer is 25.

Example 3:

Input:

int arr[] = {25, 18, 4, -3, -10, -17, -24}

Output: 11

Explanation: If we put the number 11 after the number 18 in the input array, the arithmetic progression is complete. Hence, the answer is 11.

Solution to the Problem

Using Arithmetic Progression Formula

The sum of the numbers in an arithmetic progression whose first term is a1 and the last term is an, and

the total term is n is: Sn = (n x (a1 + an) ) / 2. Thus, we can compute the sum of the input array. It is because we know the first, last, and size of the input array. If we take the reference of example 1, we get:

S9 = (9 x (3 + 19)) / 2 = (9 x 22) / 2 = 198 / 2 = 99 (9 is the size of the input array including the missing element)

Now, iterate over the array and find the sum of the elements present. We get

Sum of elements: 3 + 5 + 7 + 9 + 11 + 15 + 17 + 19 = 86

Now, subtract S8 with the sum of elements of the input array. We get 99 - 86 = 13, which is the missing element of the arithmetic progression. The following program implements the same concept.

FileName: MissingElementAP.java

Output:

For the input array: 
3 5 7 9 11 15 17 19 
The missing element is: 13


For the input array: 
1 7 13 19 31 37 43 
The missing element is: 25


For the input array: 
25 18 4 -3 -10 -17 -24 
The missing element is: 11

Complexity Analysis: Since the program is using the binary search, the time complexity of the program is O(n), where n is the total number of elements present in the input array. The program is not using any auxiliary space. Therefore, the space complexity of the program is constant, i.e., O(1).


Next Topic#





Youtube For Videos Join Our Youtube Channel: Join Now

Feedback


Help Others, Please Share

facebook twitter pinterest

Learn Latest Tutorials


Preparation


Trending Technologies


B.Tech / MCA