En matrix er en samling af elementer med de samme datatyper. Det er en lineær datastruktur og gemmes i sammenhængende hukommelsessteder. Du kan udføre mange grundlæggende operationer på en matrix som indsættelse, sletning, søgning, opdatering, gennemkørsel osv.

I denne artikel lærer du, hvordan du fjerner duplikatelementer fra sorterede og usorterede arrays.

Sådan fjernes duplikatelementer fra en usorteret matrix

Problemformulering

Du får et usorteret udvalg af heltal. Du skal fjerne de duplikerede elementer fra arrayet og udskrive arrayet med unikke elementer.

Eksempel 1: Lad arr = [23, 35, 23, 56, 67, 35, 35, 54, 76]

Array efter fjernelse af duplikatelementer: 23 35 56 67 54 76

Således er output 23 35 56 67 54 76.

Eksempel 2: Lad arr = [5, 6, 1, 1, 7, 5, 8, 2, 7, 8]

Array efter fjernelse af duplikatelementer: 5 6 1 7 8 2

Således er output 5 6 1 7 8 2.

Fremgangsmåde til fjernelse af duplikatelementer fra en usorteret matrix

Du kan fjerne duplikatelementer fra et usorteret array ved at følge fremgangsmåden nedenfor:

instagram viewer
  1. Initialiser et hash-kort, der gemmer alle de unikke elementer i arrayet.
  2. Kryds arrayet.
  3. Kontroller, om elementet er til stede i arrayet.
  4. Hvis elementet er til stede i arrayet, skal du fortsætte med at krydse.
  5. Hvis elementet ikke er til stede i arrayet, skal du udskrive elementet og gemme det på hash-kortet.

Bemærk: Tids kompleksiteten af ​​denne løsning er O (n).

C ++ - program til fjernelse af duplikatelementer fra en usorteret matrix

Nedenfor er C ++ - programmet til at fjerne duplikatelementer fra et usorteret array:

// C ++ - program til at fjerne duplikatelementer fra et usorteret array
#omfatte
ved hjælp af namespace std;
// Funktion til at fjerne duplikatelementer fra et usorteret array
ugyldig removeDuplicateElements (int arr [], int størrelse)
{
unordered_map m;
for (int i = 0; jeg{
// Udskriv elementet, hvis det ikke er det
// til stede i hash-kortet
hvis (m.find (arr [i]) == m.end ())
{
cout << arr [i] << "";
}
// Indsæt elementet i hash-kortet
m [arr [i]] = sand;
}
cout << endl;
}
ugyldig printArrayElements (int arr [], int størrelse)
{
for (int i = 0; jeg{
cout << arr [i] << "";
}
cout << endl;
}
int main ()
{
int arr1 [] = {23, 35, 23, 56, 67, 35, 35, 54, 76};
int størrelse1 = størrelse af (arr1) / størrelse af (arr1 [0]);
cout << "Initial Array:" << endl;
printArrayElements (arr1, størrelse1);
cout << "Array efter fjernelse af dubletter:" << endl;
removeDuplicateElements (arr1, størrelse1);
int arr2 [] = {5, 6, 1, 1, 7, 5, 8, 2, 7, 8};
int size2 = sizeof (arr2) / sizeof (arr2 [0]);
cout << "Initial Array:" << endl;
printArrayElements (arr2, størrelse2);
cout << "Array efter fjernelse af dubletter:" << endl;
removeDuplicateElements (arr2, size2);
int arr3 [] = {32, 35, 33, 32, 33, 38, 32, 39};
int size3 = sizeof (arr3) / sizeof (arr3 [0]);
cout << "Initial Array:" << endl;
printArrayElements (arr3, størrelse3);
cout << "Array efter fjernelse af dubletter:" << endl;
removeDuplicateElements (arr3, size3);
returnere 0;
}

Produktion:

Indledende matrix: 
23 35 23 56 67 35 35 54 76
Array efter fjernelse af dubletter:
23 35 56 67 54 76
Indledende matrix:
5 6 1 1 7 5 8 2 7 8
Array efter fjernelse af dubletter:
5 6 1 7 8 2
Indledende matrix:
32 35 33 32 33 38 32 39
Array efter fjernelse af dubletter:
32 35 33 38 39

Relaterede: Sådan udskrives "Hej verden!" på de mest populære programmeringssprog

Python-program til fjernelse af duplikatelementer fra en usorteret matrix

Nedenfor er Python-programmet til at fjerne duplikatelementer fra et usorteret array:

# Python-program til at fjerne duplikatelementer fra en usorteret liste
def removeDuplicateElements (arr, størrelse):
m = {}
for jeg inden for rækkevidde (størrelse):
# Udskriv elementet, hvis det ikke er det
# til stede i ordbogen
hvis arr [i] ikke er i m:
print (arr [i], slut = "")
# Indsæt elementet i ordbogen
m [arr [i]] = 1
Print()
def printListElements (arr, størrelse):
for jeg inden for rækkevidde (størrelse):
print (arr [i], slut = "")
Print()
arr1 = [23, 35, 23, 56, 67, 35, 35, 54, 76]
størrelse1 = len (arr1)
print ("Indledende liste:")
printListElements (arr1, størrelse1)
print ("Liste efter fjernelse af dubletter:")
removeDuplicateElements (arr1, størrelse1)
arr2 = [5, 6, 1, 1, 7, 5, 8, 2, 7, 8]
størrelse2 = len (arr2)
print ("Indledende liste:")
printListElements (arr2, størrelse2)
print ("Liste efter fjernelse af dubletter:")
removeDuplicateElements (arr2, størrelse2)
arr3 = [32, 35, 33, 32, 33, 38, 32, 39]
størrelse3 = len (arr3)
print ("Indledende liste:")
printListElements (arr3, størrelse3)
print ("Liste efter fjernelse af dubletter:")
removeDuplicateElements (arr3, size3)

Produktion:

Indledende matrix: 
23 35 23 56 67 35 35 54 76
Array efter fjernelse af dubletter:
23 35 56 67 54 76
Indledende matrix:
5 6 1 1 7 5 8 2 7 8
Array efter fjernelse af dubletter:
5 6 1 7 8 2
Indledende matrix:
32 35 33 32 33 38 32 39
Array efter fjernelse af dubletter:
32 35 33 38 39

JavaScript-program til fjernelse af duplikatelementer fra en usorteret matrix

Nedenfor er JavaScript-programmet til fjernelse af duplikatelementer fra et usorteret array:

// JavaScript-program til fjernelse af duplikatelementer fra et usorteret array
// Funktion til at fjerne duplikatelementer fra et usorteret array
funktion removeDuplicateElements (arr, størrelse) {
lad m = nyt kort ();
for (lad i = 0; jeg // Udskriv elementet, hvis det ikke er det
// til stede i hash-kortet
hvis (m.get (arr [i]) == null) {
document.write (arr [i] + "");
}
// Indsæt elementet i hash-kortet
m.set (arr [i], sand);
}
document.write ("
");
}
funktion printArrayElements (arr, størrelse) {
for (lad i = 0; jegdocument.write (arr [i] + "");
}
document.write ("
");
}
lad arr1 = [23, 35, 23, 56, 67, 35, 35, 54, 76];
lad størrelse1 = arr1.længde;
document.write ("Initial Array:" + "
");
printArrayElements (arr1, størrelse1);
document.write ("Array efter fjernelse af dubletter:" + "
");
removeDuplicateElements (arr1, størrelse1);
lad arr2 = [5, 6, 1, 1, 7, 5, 8, 2, 7, 8];
lad størrelse2 = arr2.længde;
document.write ("Initial Array:" + "
");
printArrayElements (arr2, størrelse2);
document.write ("Array efter fjernelse af dubletter:" + "
");
removeDuplicateElements (arr2, size2);
lad arr3 = [32, 35, 33, 32, 33, 38, 32, 39];
lad størrelse3 = arr3.længde;
document.write ("Initial Array:" + "
");
printArrayElements (arr3, størrelse3);
document.write ("Array efter fjernelse af dubletter:" + "
");
removeDuplicateElements (arr3, size3);

Produktion:

Indledende matrix: 
23 35 23 56 67 35 35 54 76
Array efter fjernelse af dubletter:
23 35 56 67 54 76
Indledende matrix:
5 6 1 1 7 5 8 2 7 8
Array efter fjernelse af dubletter:
5 6 1 7 8 2
Indledende matrix:
32 35 33 32 33 38 32 39
Array efter fjernelse af dubletter:
32 35 33 38 39

Relaterede: Sådan tælles forekomsterne af en given karakter i en streng

Sådan fjernes duplikatelementer fra en sorteret matrix

Problemformulering

Du får en sorteret vifte af heltal. Du skal fjerne de duplikerede elementer fra arrayet og udskrive arrayet med unikke elementer.

Eksempel 1: Lad arr = [1, 1, 1, 2, 4, 6, 8, 8, 9, 9]

Array efter fjernelse af duplikatelementer: 1 2 4 6 8 9

Således er output 1 2 4 6 8 9.

Eksempel 2: Lad arr = [1, 1, 2, 2, 3, 3, 4, 4, 5, 5]

Array efter fjernelse af duplikatelementer: 1 2 3 4 5

Således er output 1 2 3 4 5.

Fremgangsmåde til fjernelse af duplikatelementer fra en sorteret matrix

Du kan fjerne duplikatelementer fra et sorteret array ved at følge fremgangsmåden nedenfor:

  1. Initialiser indeksvariablerne i og j med 0.
  2. Iterer arrayet.
  3. Hvis ith-elementet ikke er lig med (i + 1) th-elementet, skal du gemme ith-værdien i arr [j] og øge værdien af ​​j.
  4. Forøg værdien af ​​i i hver iteration.
  5. Gem den sidste værdi af arr i arr [j].
  6. Til sidst returnerer arrayets nye størrelse, dvs. j. Unikke elementer gemmes i arrayet fra indeks 0 til j-1.

Bemærk: Tids kompleksiteten af ​​denne løsning er O (n).

C ++ - program til fjernelse af duplikatelementer fra en sorteret matrix

Nedenfor er C ++ - programmet til at fjerne duplikatelementer fra et sorteret array:

// C ++ - program til at fjerne duplikatelementer fra et sorteret array
#omfatte
ved hjælp af namespace std;
// Funktion til fjernelse af duplikatelementer fra et sorteret array
int removeDuplicateElements (int arr [], int størrelse)
{
int j = 0;
for (int i = 0; i {
// Hvis dette element ikke er lig med (i + 1) det element,
// gem derefter ith-værdien i arr [j]
hvis (arr [i]! = arr [i + 1])
{
arr [j] = arr [i];
j ++;
}
}
// Lagring af den sidste værdi af arr i arr [j]
arr [j ++] = arr [størrelse-1];
returnere j;
}
ugyldig printArrayElements (int arr [], int størrelse)
{
for (int i = 0; jeg{
cout << arr [i] << "";
}
cout << endl;
}
int main ()
{
int arr1 [] = {1, 1, 1, 2, 4, 6, 8, 8, 9, 9};
int størrelse1 = størrelse af (arr1) / størrelse af (arr1 [0]);
cout << "Initial Array:" << endl;
printArrayElements (arr1, størrelse1);
cout << "Array efter fjernelse af dubletter:" << endl;
størrelse1 = removeDuplicateElements (arr1, størrelse1);
printArrayElements (arr1, størrelse1);
int arr2 [] = {1, 1, 2, 2, 3, 3, 4, 4, 5, 5};
int size2 = sizeof (arr2) / sizeof (arr2 [0]);
cout << "Initial Array:" << endl;
printArrayElements (arr2, størrelse2);
cout << "Array efter fjernelse af dubletter:" << endl;
størrelse2 = removeDuplicateElements (arr2, størrelse2);
printArrayElements (arr2, størrelse2);
int arr3 [] = {10, 12, 12, 14, 16, 16, 18, 19, 19};
int size3 = sizeof (arr3) / sizeof (arr3 [0]);
cout << "Initial Array:" << endl;
printArrayElements (arr3, størrelse3);
cout << "Array efter fjernelse af dubletter:" << endl;
størrelse3 = removeDuplicateElements (arr3, størrelse3);
printArrayElements (arr3, størrelse3);
returnere 0;
}

Produktion:

Indledende matrix: 
1 1 1 2 4 6 8 8 9 9
Array efter fjernelse af dubletter:
1 2 4 6 8 9
Indledende matrix:
1 1 2 2 3 3 4 4 5 5
Array efter fjernelse af dubletter:
1 2 3 4 5
Indledende matrix:
10 12 12 14 16 16 18 19 19
Array efter fjernelse af dubletter:
10 12 14 16 18 19

Python-program til fjernelse af duplikatelementer fra en sorteret matrix

Nedenfor er Python-programmet til at fjerne duplikatelementer fra et sorteret array:

# Python-program til fjernelse af duplikatelementer fra et sorteret array
def removeDuplicateElements (arr, størrelse):
j = 0
for jeg inden for rækkevidde (størrelse-1):
hvis arr [i]! = arr [i + 1]:
arr [j] = arr [i]
j = j + 1
arr [j] = arr [størrelse-1]
j = j + 1
returnere j
def printListElements (arr, størrelse):
for jeg inden for rækkevidde (størrelse):
print (arr [i], slut = "")
Print()
arr1 = [1, 1, 1, 2, 4, 6, 8, 8, 9, 9]
størrelse1 = len (arr1)
print ("Initial Array:")
printListElements (arr1, størrelse1)
print ("Array efter fjernelse af dubletter:")
størrelse1 = removeDuplicateElements (arr1, størrelse1)
printListElements (arr1, størrelse1)
arr2 = [1, 1, 2, 2, 3, 3, 4, 4, 5, 5]
størrelse2 = len (arr2)
print ("Initial Array:")
printListElements (arr2, størrelse2)
print ("Array efter fjernelse af dubletter:")
størrelse2 = removeDuplicateElements (arr2, størrelse2)
printListElements (arr2, størrelse2)
arr3 = [10, 12, 12, 14, 16, 16, 18, 19, 19]
størrelse3 = len (arr3)
print ("Initial Array:")
printListElements (arr3, størrelse3)
print ("Array efter fjernelse af dubletter:")
størrelse3 = removeDuplicateElements (arr3, størrelse3)
printListElements (arr3, størrelse3)

Produktion:

Indledende matrix: 
1 1 1 2 4 6 8 8 9 9
Array efter fjernelse af dubletter:
1 2 4 6 8 9
Indledende matrix:
1 1 2 2 3 3 4 4 5 5
Array efter fjernelse af dubletter:
1 2 3 4 5
Indledende matrix:
10 12 12 14 16 16 18 19 19
Array efter fjernelse af dubletter:
10 12 14 16 18 19

Relaterede: En introduktion til flettsorteringsalgoritmen

JavaScript-program til fjernelse af duplikatelementer fra en sorteret matrix

Nedenfor er JavaScript-programmet til at fjerne duplikatelementer fra et sorteret array:

// JavaScript-program til fjernelse af duplikatelementer fra et sorteret array
// Funktion til fjernelse af duplikatelementer fra et sorteret array
funktion removeDuplicateElements (arr, størrelse)
{
lad j = 0;
for (lad i = 0; i {
// Hvis dette element ikke er lig med (i + 1) det element,
// gem derefter ith-værdien i arr [j]
hvis (arr [i]! = arr [i + 1])
{
arr [j] = arr [i];
j ++;
}
}
// Lagring af den sidste værdi af arr i arr [j]
arr [j ++] = arr [størrelse-1];
returnere j;
}
funktion printArrayElements (arr, størrelse) {
for (lad i = 0; jegdocument.write (arr [i] + "");
}
document.write ("
");
}
var arr1 = [1, 1, 1, 2, 4, 6, 8, 8, 9, 9];
var størrelse1 = arr1.længde;
document.write ("Initial Array:" + "
");
printArrayElements (arr1, størrelse1);
document.write ("Array efter fjernelse af dubletter:" + "
");
størrelse1 = removeDuplicateElements (arr1, størrelse1);
printArrayElements (arr1, størrelse1);
var arr2 = [1, 1, 2, 2, 3, 3, 4, 4, 5, 5];
var størrelse2 = arr2.længde;
document.write ("Initial Array:" + "
");
printArrayElements (arr2, størrelse2);
document.write ("Array efter fjernelse af dubletter:" + "
");
størrelse2 = removeDuplicateElements (arr2, størrelse2);
printArrayElements (arr2, størrelse2);
var arr3 = [10, 12, 12, 14, 16, 16, 18, 19, 19];
var størrelse3 = arr3.længde;
document.write ("Initial Array:" + "
");
printArrayElements (arr3, størrelse3);
document.write ("Array efter fjernelse af dubletter:" + "
");
størrelse3 = removeDuplicateElements (arr3, størrelse3);
printArrayElements (arr3, størrelse3);

Produktion:

Relaterede: Sådan finder du den hyppigst forekommende karakter i en streng

Indledende matrix: 
1 1 1 2 4 6 8 8 9 9
Array efter fjernelse af dubletter:
1 2 4 6 8 9
Indledende matrix:
1 1 2 2 3 3 4 4 5 5
Array efter fjernelse af dubletter:
1 2 3 4 5
Indledende matrix:
10 12 12 14 16 16 18 19 19
Array efter fjernelse af dubletter:
10 12 14 16 18 19

Øv streng- og matrixproblemer til dit næste interview

Streng- og arrayproblemer er blandt de mest stillede emner i tekniske interviews.

Hvis du ønsker at være så forberedt som muligt, skal du øve nogle ofte stillede problemer, såsom hvordan man kontrollerer, om en streng er en palindrom, hvordan man kontrollerer, om en streng er et anagram, find det hyppigst forekommende tegn i en streng, hvordan man vender et array, sorterings- og søgealgoritmer baseret på arrays, hvordan man vender en streng, etc.

E-mail
Sådan vendes en streng i C ++, Python og JavaScript

Lær, hvordan du vender en streng tilbage til front på tre forskellige sprog.

Læs Næste

Relaterede emner
  • Programmering
  • JavaScript
  • Python
  • Kodning Tutorials
Om forfatteren
Yuvraj Chandra (40 artikler udgivet)

Yuvraj er en datalogi-studerende ved University of Delhi, Indien. Han brænder for Full Stack Webudvikling. Når han ikke skriver, udforsker han dybden af ​​forskellige teknologier.

Mere fra Yuvraj Chandra

Abonner på vores nyhedsbrev

Deltag i vores nyhedsbrev for tekniske tip, anmeldelser, gratis e-bøger og eksklusive tilbud!

Klik her for at abonnere