Ein Array ist eine Sammlung von Elementen mit den gleichen Datentypen. Es ist eine lineare Datenstruktur und wird in zusammenhängenden Speicherorten gespeichert. Sie können viele grundlegende Operationen an einem Array ausführen, wie Einfügen, Löschen, Suchen, Aktualisieren, Durchlaufen usw.

In diesem Artikel erfahren Sie, wie Sie doppelte Elemente aus sortierten und unsortierten Arrays entfernen.

So entfernen Sie doppelte Elemente aus einem unsortierten Array

Problemstellung

Sie erhalten ein unsortiertes Array von Ganzzahlen. Sie müssen die doppelten Elemente aus dem Array entfernen und das Array mit eindeutigen Elementen drucken.

Beispiel 1: Sei arr = [23, 35, 23, 56, 67, 35, 35, 54, 76]

Array nach dem Entfernen doppelter Elemente: 23 35 56 67 54 76

Somit beträgt die Ausgabe 23 35 56 67 54 76.

Beispiel 2: Sei arr = [5, 6, 1, 1, 7, 5, 8, 2, 7, 8]

Array nach dem Entfernen doppelter Elemente: 5 6 1 7 8 2

Somit ist die Ausgabe 5 6 1 7 8 2.

Ansatz zum Entfernen doppelter Elemente aus einem unsortierten Array

Sie können doppelte Elemente aus einem unsortierten Array entfernen, indem Sie den folgenden Ansatz befolgen:

  1. Initialisieren Sie eine Hash-Map, die alle eindeutigen Elemente des Arrays speichert.
  2. Durchqueren Sie das Array.
  3. Überprüfen Sie, ob das Element im Array vorhanden ist.
  4. Wenn das Element im Array vorhanden ist, fahren Sie fort.
  5. Wenn das Element nicht im Array vorhanden ist, drucken Sie das Element aus und speichern Sie es in der Hash-Map.

Notiz: Die Zeitkomplexität dieser Lösung ist O(n).

C++-Programm zum Entfernen doppelter Elemente aus einem unsortierten Array

Unten ist das C++-Programm zum Entfernen doppelter Elemente aus einem unsortierten Array:

// C++-Programm zum Entfernen doppelter Elemente aus einem unsortierten Array
#enthalten
Verwenden des Namensraums std;
// Funktion zum Entfernen doppelter Elemente aus einem unsortierten Array
void removeDuplicateElements (int arr[], int size)
{
ungeordnete_map m;
für (int i=0; ich{
// Gibt das Element aus, wenn nicht
// in der Hash-Map vorhanden
if (m.find (arr[i]) == m.end())
{
cout << arr[i] << " ";
}
// Füge das Element in die Hashmap ein
m[arr[i]] = wahr;
}
cout << endl;
}
void printArrayElements (int arr[], int Größe)
{
für (int i=0; ich{
cout << arr[i] << " ";
}
cout << endl;
}
int main()
{
int arr1[] = {23, 35, 23, 56, 67, 35, 35, 54, 76};
int size1 = sizeof (arr1)/sizeof (arr1[0]);
cout << "Anfangs-Array: " << endl;
printArrayElements (arr1, size1);
cout << "Array nach dem Entfernen von Duplikaten: " << endl;
removeDuplicateElements (arr1, size1);
int arr2[] = {5, 6, 1, 1, 7, 5, 8, 2, 7, 8};
int size2 = sizeof (arr2)/sizeof (arr2[0]);
cout << "Anfangs-Array: " << endl;
printArrayElements (arr2, size2);
cout << "Array nach dem Entfernen von Duplikaten: " << endl;
removeDuplicateElements (arr2, size2);
int arr3[] = {32, 35, 33, 32, 33, 38, 32, 39};
int size3 = sizeof (arr3)/sizeof (arr3[0]);
cout << "Anfangs-Array: " << endl;
printArrayElements (arr3, size3);
cout << "Array nach dem Entfernen von Duplikaten: " << endl;
removeDuplicateElements (arr3, size3);
0 zurückgeben;
}

Ausgabe:

Anfangs-Array: 
23 35 23 56 67 35 35 54 76
Array nach dem Entfernen von Duplikaten:
23 35 56 67 54 76
Anfangs-Array:
5 6 1 1 7 5 8 2 7 8
Array nach dem Entfernen von Duplikaten:
5 6 1 7 8 2
Anfangs-Array:
32 35 33 32 33 38 32 39
Array nach dem Entfernen von Duplikaten:
32 35 33 38 39

Verwandt: So drucken Sie "Hallo Welt!" in den beliebtesten Programmiersprachen

Python-Programm zum Entfernen doppelter Elemente aus einem unsortierten Array

Unten ist das Python-Programm zum Entfernen doppelter Elemente aus einem unsortierten Array:

# Python-Programm zum Entfernen doppelter Elemente aus einer unsortierten Liste
def removeDuplicateElements (arr, size):
m = {}
für i im Bereich (Größe):
# Drucken Sie das Element, wenn dies nicht der Fall ist
# im Wörterbuch vorhanden
wenn arr[i] nicht in m:
print (arr[i], end = " ")
# Fügen Sie das Element in das Wörterbuch ein
m[arr[i]] = 1
drucken()
def printListElements (arr, Größe):
für i im Bereich (Größe):
print (arr[i], end="")
drucken()
arr1 = [23, 35, 23, 56, 67, 35, 35, 54, 76]
size1 = len (arr1)
print("Anfangsliste: ")
printListElements (arr1, size1)
print("Liste nach dem Entfernen von Duplikaten:")
removeDuplicateElements (arr1, size1)
arr2 = [5, 6, 1, 1, 7, 5, 8, 2, 7, 8]
size2 = len (arr2)
print("Anfangsliste: ")
printListElements (arr2, size2)
print("Liste nach dem Entfernen von Duplikaten:")
removeDuplicateElements (arr2, size2)
arr3 = [32, 35, 33, 32, 33, 38, 32, 39]
size3 = len (arr3)
print("Anfangsliste: ")
printListElements (arr3, size3)
print("Liste nach dem Entfernen von Duplikaten:")
removeDuplicateElements (arr3, size3)

Ausgabe:

Anfangs-Array: 
23 35 23 56 67 35 35 54 76
Array nach dem Entfernen von Duplikaten:
23 35 56 67 54 76
Anfangs-Array:
5 6 1 1 7 5 8 2 7 8
Array nach dem Entfernen von Duplikaten:
5 6 1 7 8 2
Anfangs-Array:
32 35 33 32 33 38 32 39
Array nach dem Entfernen von Duplikaten:
32 35 33 38 39

JavaScript-Programm zum Entfernen doppelter Elemente aus einem unsortierten Array

Unten ist das JavaScript-Programm zum Entfernen doppelter Elemente aus einem unsortierten Array:

// JavaScript-Programm zum Entfernen doppelter Elemente aus einem unsortierten Array
// Funktion zum Entfernen doppelter Elemente aus einem unsortierten Array
Funktion removeDuplicateElements (arr, Größe) {
lass m = neue Map();
für (lassen Sie i = 0; ich < Größe; ich++) {
// Gibt das Element aus, wenn nicht
// in der Hash-Map vorhanden
if (m.get (arr[i]) == null) {
document.write (arr[i] + " ");
}
// Füge das Element in die Hashmap ein
m.set (arr[i], wahr);
}
document.write("
");
}
Funktion printArrayElements (arr, Größe) {
für (lassen Sie i = 0; ichdocument.write (arr[i] + " ");
}
document.write("
");
}
sei arr1 = [23, 35, 23, 56, 67, 35, 35, 54, 76];
let size1 = arr1.length;
document.write("Anfangs-Array: " + "
");
printArrayElements (arr1, size1);
document.write("Array nach dem Entfernen von Duplikaten: " + "
");
removeDuplicateElements (arr1, size1);
sei arr2 = [5, 6, 1, 1, 7, 5, 8, 2, 7, 8];
let size2 = arr2.length;
document.write("Anfangs-Array: " + "
");
printArrayElements (arr2, size2);
document.write("Array nach dem Entfernen von Duplikaten: " + "
");
removeDuplicateElements (arr2, size2);
sei arr3 = [32, 35, 33, 32, 33, 38, 32, 39];
let size3 = arr3.length;
document.write("Anfangs-Array: " + "
");
printArrayElements (arr3, size3);
document.write("Array nach dem Entfernen von Duplikaten: " + "
");
removeDuplicateElements (arr3, size3);

Ausgabe:

Anfangs-Array: 
23 35 23 56 67 35 35 54 76
Array nach dem Entfernen von Duplikaten:
23 35 56 67 54 76
Anfangs-Array:
5 6 1 1 7 5 8 2 7 8
Array nach dem Entfernen von Duplikaten:
5 6 1 7 8 2
Anfangs-Array:
32 35 33 32 33 38 32 39
Array nach dem Entfernen von Duplikaten:
32 35 33 38 39

Verwandt: So zählen Sie die Vorkommen eines bestimmten Zeichens in einer Zeichenfolge

So entfernen Sie doppelte Elemente aus einem sortierten Array

Problemstellung

Sie erhalten ein sortiertes Array von ganzen Zahlen. Sie müssen die doppelten Elemente aus dem Array entfernen und das Array mit eindeutigen Elementen drucken.

Beispiel 1: Sei arr = [1, 1, 1, 2, 4, 6, 8, 8, 9, 9]

Array nach dem Entfernen doppelter Elemente: 1 2 4 6 8 9

Somit ist die Ausgabe 1 2 4 6 8 9.

Beispiel 2: Sei arr = [1, 1, 2, 2, 3, 3, 4, 4, 5, 5]

Array nach dem Entfernen doppelter Elemente: 1 2 3 4 5

Somit ist die Ausgabe 1 2 3 4 5.

Ansatz zum Entfernen doppelter Elemente aus einem sortierten Array

Sie können doppelte Elemente aus einem sortierten Array entfernen, indem Sie den folgenden Ansatz befolgen:

  1. Initialisieren Sie die Indexvariablen i und j mit 0.
  2. Iterieren Sie das Array.
  3. Wenn das i-te Element nicht gleich dem (i + 1)-ten Element ist, dann speichere den i-ten Wert in arr[j] und inkrementiere den Wert von j.
  4. Erhöhen Sie den Wert von i in jeder Iteration.
  5. Speichern Sie den letzten Wert von arr in arr[j].
  6. Geben Sie schließlich die neue Größe des Arrays zurück, d. h. j. Eindeutige Elemente werden im Array von Index 0 bis j-1 gespeichert.

Notiz: Die Zeitkomplexität dieser Lösung ist O(n).

C++-Programm zum Entfernen doppelter Elemente aus einem sortierten Array

Unten ist das C++-Programm zum Entfernen doppelter Elemente aus einem sortierten Array:

// C++-Programm zum Entfernen doppelter Elemente aus einem sortierten Array
#enthalten
Verwenden des Namensraums std;
// Funktion zum Entfernen doppelter Elemente aus einem sortierten Array
int removeDuplicateElements (int arr[], int Größe)
{
intj = 0;
für (int i = 0; ich < Größe-1; ich++)
{
// Wenn das i-te Element nicht gleich dem (i+1)-ten Element ist,
// dann speichere i-ten Wert in arr[j]
if (arr[i] != arr[i+1])
{
arr[j] = arr[i];
j++;
}
}
// Den letzten Wert von arr in arr[j] speichern
arr[j++] = arr[Größe-1];
Rückkehr j;
}
void printArrayElements (int arr[], int Größe)
{
für (int i=0; ich{
cout << arr[i] << " ";
}
cout << endl;
}
int main()
{
int arr1[] = {1, 1, 1, 2, 4, 6, 8, 8, 9, 9};
int size1 = sizeof (arr1)/sizeof (arr1[0]);
cout << "Anfangs-Array: " << endl;
printArrayElements (arr1, size1);
cout << "Array nach dem Entfernen von Duplikaten: " << endl;
size1 = removeDuplicateElements (arr1, size1);
printArrayElements (arr1, size1);
int arr2[] = {1, 1, 2, 2, 3, 3, 4, 4, 5, 5};
int size2 = sizeof (arr2)/sizeof (arr2[0]);
cout << "Anfangs-Array: " << endl;
printArrayElements (arr2, size2);
cout << "Array nach dem Entfernen von Duplikaten: " << endl;
size2 = removeDuplicateElements (arr2, size2);
printArrayElements (arr2, size2);
int arr3[] = {10, 12, 12, 14, 16, 16, 18, 19, 19};
int size3 = sizeof (arr3)/sizeof (arr3[0]);
cout << "Anfangs-Array: " << endl;
printArrayElements (arr3, size3);
cout << "Array nach dem Entfernen von Duplikaten: " << endl;
size3 = removeDuplicateElements (arr3, size3);
printArrayElements (arr3, size3);
0 zurückgeben;
}

Ausgabe:

Anfangs-Array: 
1 1 1 2 4 6 8 8 9 9
Array nach dem Entfernen von Duplikaten:
1 2 4 6 8 9
Anfangs-Array:
1 1 2 2 3 3 4 4 5 5
Array nach dem Entfernen von Duplikaten:
1 2 3 4 5
Anfangs-Array:
10 12 12 14 16 16 18 19 19
Array nach dem Entfernen von Duplikaten:
10 12 14 16 18 19

Python-Programm zum Entfernen doppelter Elemente aus einem sortierten Array

Unten ist das Python-Programm zum Entfernen doppelter Elemente aus einem sortierten Array:

# Python-Programm zum Entfernen doppelter Elemente aus einem sortierten Array
def removeDuplicateElements (arr, size):
j = 0
für i im Bereich (Größe-1):
if arr[i] != arr[i+1]:
arr[j] = arr[i]
j = j+1
arr[j] = arr[Größe-1]
j = j+1
Rückkehr j
def printListElements (arr, Größe):
für i im Bereich (Größe):
print (arr[i], end="")
drucken()
arr1 = [1, 1, 1, 2, 4, 6, 8, 8, 9, 9]
size1 = len (arr1)
print("Anfangs-Array:")
printListElements (arr1, size1)
print("Array nach dem Entfernen von Duplikaten:")
size1 = removeDuplicateElements (arr1, size1)
printListElements (arr1, size1)
arr2 = [1, 1, 2, 2, 3, 3, 4, 4, 5, 5]
size2 = len (arr2)
print("Anfangs-Array:")
printListElements (arr2, size2)
print("Array nach dem Entfernen von Duplikaten:")
size2 = removeDuplicateElements (arr2, size2)
printListElements (arr2, size2)
arr3 = [10, 12, 12, 14, 16, 16, 18, 19, 19]
size3 = len (arr3)
print("Anfangs-Array:")
printListElements (arr3, size3)
print("Array nach dem Entfernen von Duplikaten:")
size3 = removeDuplicateElements (arr3, size3)
printListElements (arr3, size3)

Ausgabe:

Anfangs-Array: 
1 1 1 2 4 6 8 8 9 9
Array nach dem Entfernen von Duplikaten:
1 2 4 6 8 9
Anfangs-Array:
1 1 2 2 3 3 4 4 5 5
Array nach dem Entfernen von Duplikaten:
1 2 3 4 5
Anfangs-Array:
10 12 12 14 16 16 18 19 19
Array nach dem Entfernen von Duplikaten:
10 12 14 16 18 19

Verwandt: Eine Einführung in den Merge-Sortierungsalgorithmus

JavaScript-Programm zum Entfernen doppelter Elemente aus einem sortierten Array

Unten ist das JavaScript-Programm zum Entfernen doppelter Elemente aus einem sortierten Array:

// JavaScript-Programm zum Entfernen doppelter Elemente aus einem sortierten Array
// Funktion zum Entfernen doppelter Elemente aus einem sortierten Array
Funktion removeDuplicateElements (arr, size)
{
sei j = 0;
für (lassen Sie i = 0; ich < Größe-1; ich++)
{
// Wenn das i-te Element nicht gleich dem (i+1)-ten Element ist,
// dann speichere i-ten Wert in arr[j]
if (arr[i] != arr[i+1])
{
arr[j] = arr[i];
j++;
}
}
// Den letzten Wert von arr in arr[j] speichern
arr[j++] = arr[Größe-1];
Rückkehr j;
}
Funktion printArrayElements (arr, Größe) {
für (lassen Sie i = 0; ichdocument.write (arr[i] + " ");
}
document.write("
");
}
var arr1 = [1, 1, 1, 2, 4, 6, 8, 8, 9, 9];
var size1 = arr1.length;
document.write("Anfangs-Array: " + "
");
printArrayElements (arr1, size1);
document.write("Array nach dem Entfernen von Duplikaten: " + "
");
size1 = removeDuplicateElements (arr1, size1);
printArrayElements (arr1, size1);
var arr2 = [1, 1, 2, 2, 3, 3, 4, 4, 5, 5];
var size2 = arr2.length;
document.write("Anfangs-Array: " + "
");
printArrayElements (arr2, size2);
document.write("Array nach dem Entfernen von Duplikaten: " + "
");
size2 = removeDuplicateElements (arr2, size2);
printArrayElements (arr2, size2);
var arr3 = [10, 12, 12, 14, 16, 16, 18, 19, 19];
var size3 = arr3.length;
document.write("Anfangs-Array: " + "
");
printArrayElements (arr3, size3);
document.write("Array nach dem Entfernen von Duplikaten: " + "
");
size3 = removeDuplicateElements (arr3, size3);
printArrayElements (arr3, size3);

Ausgabe:

Verwandt: So finden Sie das am häufigsten vorkommende Zeichen in einer Zeichenfolge

Anfangs-Array: 
1 1 1 2 4 6 8 8 9 9
Array nach dem Entfernen von Duplikaten:
1 2 4 6 8 9
Anfangs-Array:
1 1 2 2 3 3 4 4 5 5
Array nach dem Entfernen von Duplikaten:
1 2 3 4 5
Anfangs-Array:
10 12 12 14 16 16 18 19 19
Array nach dem Entfernen von Duplikaten:
10 12 14 16 18 19

Üben Sie String- und Array-Probleme für Ihr nächstes Interview

String- und Array-Probleme gehören zu den am häufigsten gestellten Themen in technischen Interviews.

Wenn Sie so gut wie möglich vorbereitet sein möchten, müssen Sie einige häufig gestellte Probleme üben, z. B. wie man prüft, ob eine Saite ein Palindrom ist, wie man prüft, ob eine Saite ein Palindrom ist ein Anagramm, das am häufigsten vorkommende Zeichen in einem String finden, wie man ein Array umkehrt, Sortier- und Suchalgorithmen basierend auf Arrays, wie man einen String umkehrt, etc.

Email
So kehren Sie einen String in C++, Python und JavaScript um

Erfahren Sie, wie Sie eine Zeichenfolge in drei verschiedenen Sprachen von hinten nach vorne umkehren.

Weiter lesen

Verwandte Themen
  • Programmierung
  • JavaScript
  • Python
  • Codierungs-Tutorials
Über den Autor
Yuvraj Chandra (40 veröffentlichte Artikel)

Yuvraj studiert Informatik an der University of Delhi, Indien. Seine Leidenschaft gilt der Full-Stack-Webentwicklung. Wenn er nicht gerade schreibt, erforscht er die Tiefe verschiedener Technologien.

Mehr von Yuvraj Chandra

Abonniere unseren Newsletter

Abonnieren Sie unseren Newsletter für technische Tipps, Rezensionen, kostenlose E-Books und exklusive Angebote!

Klicken Sie hier, um sich zu abonnieren