Find two Missing Numbers in a Sequence of Consecutive Numbers

Objective : Write an algorithm to find two Missing Numbers in a Sequence of Consecutive Numbers

Input:  Array, arrA[] with two missing numbers and Range

Output : Two missing numbers

Approach:

    • Approach is very simple, Add all the given numbers say S
    • Calculate sum of N numbers by formula n(n+1)/2 , say N
    • Find sum of two missing numbers a+b = N-S

  • Now take the product of all given numbers say P
  • Now take the product of N numbers , say Np;
  • Find the product of two missing numbers ab = Np-P
  • Now we have a+b and ab , we can easily calculate a and b

Example :

Given array : {10,2,3,5,7,8,9,1}; Range : 10

N (Sum of 1 to 10 ) = 55

S (Sum of given elements ) = 45

a+b = 10------------------------------------(1)

Np(Product of 1 to 10) = 3628800

P(Product of given elements) = 151200

So a*b = 24---------------------------------(2)

Now we have two equations and two variables, if we solve we will get values 6 and 4.

Complete Code:


Output:

Missing numbers are :6 and 4

 

__________________________________________________
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...

  • kapil

    The example is very good, just a small bug at line 30 in the snippet, it should be (s*2) not (s*s) in the equation
    diffSqr = (int)Math.sqrt((s*s)-4*product)

%d bloggers like this: