Remove Duplicates

Posted: 1 Dec, 2020
Difficulty: Easy

PROBLEM STATEMENT

Try Problem

Ninja is playing with numbers but hates when he gets duplicate numbers. Ninja is provided an array, and he wants to remove all duplicate elements and return the array, but he has to maintain the order in which the elements were supplied to him.

Input Format:
The first line contains a single integer T representing the number of test cases. 

The first line of each test case will contain the integer N.

The second and last line contains N space-separated integers that denote the elements of the given array.
Output Format:
For each test case, return the new array that does not contain any duplicates of the input array.

The output of each test case should be printed in a separate 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
1 <= N <= 5*10^3
-10^5 <= arr[i] <= 10^5

Time Limit: 1 sec
Approach 1

We will traverse the whole array and check if that element previously occurred or not.

 

The steps are as follows:

  • We initialize a vector ‘ans’ to store the final non-duplicate elements.
  • We will iterate over all the elements of the array, i.e., i = 0 to i = N - 1:
    • We will iterate over all the elements of the array excluding present element, i.e., j = 0 to j = N - 1:
      • If we get such positions such that arr[i] equals arr[j], then we replace all such arr[j] with -1.
  • We will iterate over all the elements of the array, i.e., i = 0 to i = N - 1:
    • If arr[i] not equals -1, then we store the value in ‘ans’.
  • We will return ‘ans’ as the final answer.
Try Problem