Find Non - Repeating Numbers

Posted: 7 Dec, 2020
Difficulty: Easy

PROBLEM STATEMENT

Try Problem

You are given an array of integers ‘A’ having ‘N’ number of elements. It is given that all the numbers in the array occur twice except the two numbers that appear only one time. You need to find those two non-repeating numbers.

For Example:
If the given array is [ 4, 7, 3, 2, 7, 2 ], you have to find ‘4’ and ‘3’ as 4 and 3 occur one time, and the rest of the elements ( 7 and 2 ) are occurring twice.
Input Format:
The first line contains a single integer T representing the number of test cases.      

The first line of each test case contains a single integer ‘N’, denoting the number of elements in the array.

The second line of each test case contains ‘N’ space-separated integers denoting the elements of the given array.
Output Format:
For each test case, print two space-separated integers that denote the two non-repeating numbers in the given array.

Print the output of each test case in a new line.
Note:
You do not need to print anything. It has already been taken care of. Just implement the given function.

Constraints:

1 <= T <= 10
4 <= N <= 10^5
1 <= A[i] <= 10^5

Time Limit: 1 sec
Approach 1

The simple idea is to sort the elements and compare every element with its adjacent elements. If any element A[i] is neither equal to its left nor to its right element, A[i] is a non-repeating element.

 

Algorithm

 

  • Sort the elements of the given array using any sorting algorithm.
  • Initialize an array ‘res’ to store the non-repeating elements.
  • If any element A[i] is not equal to its left and right adjacent element, add A[i] to ‘res’.
  • Return ‘res’
Try Problem