Entfernen Sie Duplikate aus dem unsortierten Array mithilfe der Map-Datenstruktur
Geben Sie bei einem unsortierten Array von Ganzzahlen das Array aus, nachdem Sie die doppelten Elemente daraus entfernt haben. Wir müssen unterschiedliche Array-Elemente entsprechend ihrem ersten Vorkommen drucken.
Beispiele:
Input : arr[] = { 1, 2, 5, 1, 7, 2, 4, 2} Output : 1 2 5 7 4 Explanation : {1, 2} appear more than one time.
Sich nähern :
- Nehmen Sie eine Hash-Map, die alle zuvor aufgetretenen Elemente speichert.
- Durchqueren Sie das Array.
- Überprüfen Sie, ob das Element in der Hash-Map vorhanden ist.
- Wenn ja, fahren Sie mit dem Durchlaufen des Arrays fort.
- Sonst Drucke das 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>
Ausgabe:
1 2 5 7 4
Zeitkomplexität – O(N)
Falls Sie an Live-Kursen mit Experten teilnehmen möchten , beziehen Sie sich bitte auf DSA Live-Kurse für Berufstätige und Competitive Programming Live for Students .