Remove duplicates from unsorted array using Map data structure

• Difficulty Level : Easy
• Last Updated : 28 May, 2021

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.

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 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 arraydef 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 codearr = [ 1, 2, 5, 1, 7, 2, 4, 2 ] # len of arrayn = 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 mp = new Dictionary();          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

Time Complexity – O(N)

My Personal Notes arrow_drop_up