# Remove duplicates from unsorted array using Map data structure

• Difficulty Level : Easy
• Last Updated : 07 Sep, 2022

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, which will store all the elements which have 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.

Implementation:

## 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`

## Javascript

 ``

Output

`1 2 5 7 4 `

Complexity Analysis:

• Time Complexity: O(N)
• Auxiliary Space: O(N)

My Personal Notes arrow_drop_up
Recommended Articles
Page :