Skip to content
Related Articles

Related Articles

Improve Article
Save Article
Like Article

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<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[0]);
    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<Integer,
                Boolean> 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




<script>
 
// JavaScript program to remove
// the duplicates from the array.
 
function removeDups(arr,n)
{
    // Hash map which will store the
        // elements which has appeared previously.
        let mp = new Map();
   
        for (let i = 0; i < n; ++i)
        {
   
            // Print the element if it is not
            // there in the hash map
            if (mp.get(arr[i]) == null)
                document.write(arr[i] + " ");
   
            // Insert the element in the hash map
            mp.set(arr[i], true);
        }
}
 
// Driver Code
let arr=[1, 2, 5, 1, 7, 2, 4, 2 ];
let n = arr.length;
removeDups(arr, n);
 
 
// This code is contributed by unknown2108
 
</script>
Output: 
1 2 5 7 4

 

Time Complexity – O(N)
 


My Personal Notes arrow_drop_up
Recommended Articles
Page :

Start Your Coding Journey Now!