# Find lost element from a duplicated array in Python

PythonServer Side ProgrammingProgramming

#### Beyond Basic Programming - Intermediate Python

Most Popular

36 Lectures 3 hours

#### Practical Machine Learning using Python

Best Seller

91 Lectures 23.5 hours

#### Practical Data Science using Python

22 Lectures 6 hours

Suppose we have two arrays which are duplicates of each other except one element, so, one element from one of the given arrays is missing, we have to find that missing element.

So, if the input is like A = [2, 5, 6, 8, 10], B = [5, 6, 8, 10], then the output will be 2 as 2 is missing from second array.

To solve this, we will follow these steps −

• Define a function solve() . This will take A, B, N

• if N is same as 1, then

• return A[0];

• if A[0] is not same as B[0], then

• return A[0]

• low := 0, high := N - 1

• while low < high, do

• mid :=(low + high) / 2

• if A[mid] is same as B[mid], then

• low := mid

• otherwise,

• high := mid

• if low is same as high - 1, then

• come out from the loop

• return A[high]

• From the main method, do the following −

• M := size of A, N := size of B

• if N is same as M-1, then

• return solve(A, B, M)

• otherwise when M is same as N-1, then

• return solve(B, A, N)

• otherwise,

## Example

Let us see the following implementation to get better understanding −

Live Demo

def solve(A, B, N):
if N == 1:
return A[0];
if A[0] != B[0]:
return A[0]
low = 0
high = N - 1
while (low < high):
mid = (low + high) / 2
if A[mid] == B[mid]:
low = mid
else:
high = mid
if low == high - 1:
break
return A[high]
def get_missing_element(A, B):
M = len(A)
N = len(B)
if N == M-1:
return solve(A, B, M)
elif M == N-1:
return solve(B, A, N)
else:

A = [2, 5, 6, 8, 10]
B = [5, 6, 8, 10]
print(get_missing_element(A, B))

## Input

[2, 5, 6, 8, 10], [5, 6, 8, 10]

## Output

2
Updated on 25-Aug-2020 10:01:10