Related Articles
Remove duplicates from unsorted array using Map data structure
• Difficulty Level : Easy
• Last Updated : 24 Mar, 2020

Given an unsorted array of integers, Print the array after removing the duplicate elements from it. We need to print distinct array elements according to their first occurrence.

Examples:

```Input : arr[] = { 1, 2, 5, 1, 7, 2, 4, 2}
Output : 1 2 5 7 4
Explanation : {1, 2} appear more than one time.
```

Approach :

• Take a hash map, in which will store all the elements which has appeared before.
• Traverse the array.
• Check if the element is present in the hash map.
• If yes, continue traversing the array.
• Else Print the element.

## C++

 `// C++ program to remove the duplicates from the array.``#include "iostream"``#include "unordered_map"``using` `namespace` `std;`` ` `void` `removeDups(``int` `arr[], ``int` `n)``{``    ``// Hash map which will store the``    ``// elements which has appeared previously.``    ``unordered_map<``int``, ``bool``> mp;`` ` `    ``for` `(``int` `i = 0; i < n; ++i) {`` ` `        ``// Print the element if it is not``        ``// there in the hash map``        ``if` `(mp.find(arr[i]) == mp.end()) {``            ``cout << arr[i] << ``" "``;``        ``}`` ` `        ``// Insert the element in the hash map``        ``mp[arr[i]] = ``true``;``    ``}``}`` ` `int` `main(``int` `argc, ``char` `const``* argv[])``{``    ``int` `arr[] = { 1, 2, 5, 1, 7, 2, 4, 2 };``    ``int` `n = ``sizeof``(arr) / ``sizeof``(arr);``    ``removeDups(arr, n);``    ``return` `0;``}`

## Java

 `// Java program to remove``// the duplicates from the array.``import` `java.util.HashMap;`` ` `class` `GFG ``{``    ``static` `void` `removeDups(``int``[] arr, ``int` `n) ``    ``{`` ` `        ``// Hash map which will store the``        ``// elements which has appeared previously.``        ``HashMap mp = ``new` `HashMap<>();`` ` `        ``for` `(``int` `i = ``0``; i < n; ++i)``        ``{`` ` `            ``// Print the element if it is not``            ``// there in the hash map``            ``if` `(mp.get(arr[i]) == ``null``)``                ``System.out.print(arr[i] + ``" "``);`` ` `            ``// Insert the element in the hash map``            ``mp.put(arr[i], ``true``);``        ``}``    ``}`` ` `    ``// Driver Code``    ``public` `static` `void` `main(String[] args)``    ``{``        ``int``[] arr = { ``1``, ``2``, ``5``, ``1``, ``7``, ``2``, ``4``, ``2` `};``        ``int` `n = arr.length;``        ``removeDups(arr, n);``    ``}``}`` ` `// This code is contributed by``// sanjeev2552`

## Python3

 `# Python 3 program to remove the``# duplicates from the array ``def` `removeDups(arr, n):``      ` `    ``# dict to store every element``    ``# one time``    ``mp ``=` `{i : ``0` `for` `i ``in` `arr}``     ` `    ``for` `i ``in` `range``(n):``         ` `        ``if` `mp[arr[i]] ``=``=` `0``:``            ``print``(arr[i], end ``=` `" "``)``            ``mp[arr[i]] ``=` `1`` ` `# Driver code``arr ``=` `[ ``1``, ``2``, ``5``, ``1``, ``7``, ``2``, ``4``, ``2` `]`` ` `# len of array``n ``=` `len``(arr)`` ` `removeDups(arr,n)`` ` `# This code is contributed``# by Mohit Kumar`

## C#

 `// C# program to remove``// the duplicates from the array.``using` `System;``using` `System.Collections.Generic;`` ` `class` `GFG ``{``    ``static` `void` `removeDups(``int``[] arr, ``int` `n) ``    ``{``  ` `        ``// Hash map which will store the``        ``// elements which has appeared previously.``        ``Dictionary<``int``, ``                ``Boolean> mp = ``new` `Dictionary<``int``, Boolean>();``  ` `        ``for` `(``int` `i = 0; i < n; ++i)``        ``{``  ` `            ``// Print the element if it is not``            ``// there in the hash map``            ``if` `(!mp.ContainsKey(arr[i]))``                ``Console.Write(arr[i] + ``" "``);``  ` `            ``// Insert the element in the hash map``            ``mp[arr[i]] = ``true``;``        ``}``    ``}``  ` `    ``// Driver Code``    ``public` `static` `void` `Main(String[] args)``    ``{``        ``int``[] arr = { 1, 2, 5, 1, 7, 2, 4, 2 };``        ``int` `n = arr.Length;``        ``removeDups(arr, n);``    ``}``}`` ` `// This code is contributed by Rajput-Ji`
Output:
```1 2 5 7 4
```

Time Complexity – O(N)

Attention reader! Don’t stop learning now. Get hold of all the important DSA concepts with the DSA Self Paced Course at a student-friendly price and become industry ready.

My Personal Notes arrow_drop_up