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[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
Complexity Analysis:
- Time Complexity: O(N)
- Auxiliary Space: O(N)