En matrise er en samling av elementer med de samme datatypene. Det er en lineær datastruktur og lagres på sammenhengende minneplasser. Du kan utføre mange grunnleggende operasjoner på en matrise som innsetting, sletting, søk, oppdatering, traversering, etc.

I denne artikkelen lærer du hvordan du fjerner dupliserte elementer fra sorterte og usorterte matriser.

Slik fjerner du dupliserte elementer fra en usortert serie

Problemstilling

Du får et usortert utvalg av heltall. Du må fjerne dupliserte elementer fra matrisen og skrive ut matrisen med unike elementer.

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

Array etter fjerning av dupliserte elementer: 23 35 56 67 54 76

Dermed er utgangen 23 35 56 67 54 76.

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

Array etter fjerning av dupliserte elementer: 5 6 1 7 8 2

Dermed er utgangen 5 6 1 7 8 2.

Tilnærming for å fjerne dupliserte elementer fra en usortert matrise

Du kan fjerne dupliserte elementer fra et usortert utvalg ved å følge fremgangsmåten nedenfor:

  1. Initialiser et hash-kart som lagrer alle unike elementer i matrisen.
  2. Kryss matrisen.
  3. Sjekk om elementet er tilstede i matrisen.
  4. Hvis elementet er tilstede i matrisen, fortsett å krysse.
  5. Hvis elementet ikke er tilstede i matrisen, skriver du ut elementet og lagrer det i hash-kartet.

Merk: Tidskompleksiteten til denne løsningen er O (n).

C ++ - program for å fjerne dupliserte elementer fra en usortert serie

Nedenfor er C ++ - programmet for å fjerne dupliserte elementer fra en usortert matrise:

// C ++ program for å fjerne dupliserte elementer fra en usortert matrise
#inkludere
bruker navneområde std;
// Funksjon for å fjerne dupliserte elementer fra en usortert matrise
ugyldig removeDuplicateElements (int arr [], int størrelse)
{
unordered_map m;
for (int i = 0; Jeg{
// Skriv ut elementet hvis det ikke er det
// til stede i hash-kartet
hvis (m.find (arr [i]) == m.end ())
{
cout << arr [i] << "";
}
// Sett inn elementet i hash-kartet
m [arr [i]] = sann;
}
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 size1 = sizeof (arr1) / sizeof (arr1 [0]);
cout << "Initial Array:" << endl;
printArrayElements (arr1, størrelse1);
cout << "Array etter fjerning av duplikater:" << endl;
removeDuplicateElements (arr1, size1);
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 etter fjerning av duplikater:" << 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 etter fjerning av duplikater:" << endl;
removeDuplicateElements (arr3, size3);
retur 0;
}

Produksjon:

Innledende matrise: 
23 35 23 56 67 35 35 54 76
Array etter fjerning av duplikater:
23 35 56 67 54 76
Innledende matrise:
5 6 1 1 7 5 8 2 7 8
Array etter fjerning av duplikater:
5 6 1 7 8 2
Innledende matrise:
32 35 33 32 33 38 32 39
Array etter fjerning av duplikater:
32 35 33 38 39

I slekt: Hvordan skrive ut "Hello, World!" på de mest populære programmeringsspråkene

Python-program for å fjerne dupliserte elementer fra en usortert matrise

Nedenfor er Python-programmet for å fjerne dupliserte elementer fra en usortert matrise:

# Python-program for å fjerne dupliserte elementer fra en usortert liste
def removeDuplicateElements (arr, størrelse):
m = {}
for jeg innen rekkevidde (størrelse):
# Skriv ut elementet hvis det ikke er det
# til stede i ordboken
hvis arr [i] ikke i m:
skriv ut (arr [i], end = "")
# Sett inn elementet i ordboken
m [arr [i]] = 1
skrive ut()
def printListElements (arr, størrelse):
for jeg innen rekkevidde (størrelse):
skriv ut (arr [i], end = "")
skrive ut()
arr1 = [23, 35, 23, 56, 67, 35, 35, 54, 76]
størrelse1 = len (arr1)
print ("Initial List:")
printListElements (arr1, størrelse1)
print ("Liste etter fjerning av duplikater:")
removeDuplicateElements (arr1, size1)
arr2 = [5, 6, 1, 1, 7, 5, 8, 2, 7, 8]
størrelse2 = len (arr2)
print ("Initial List:")
printListElements (arr2, størrelse2)
print ("Liste etter fjerning av duplikater:")
removeDuplicateElements (arr2, size2)
arr3 = [32, 35, 33, 32, 33, 38, 32, 39]
størrelse3 = len (arr3)
print ("Initial List:")
printListElements (arr3, størrelse3)
print ("Liste etter fjerning av duplikater:")
removeDuplicateElements (arr3, size3)

Produksjon:

Innledende matrise: 
23 35 23 56 67 35 35 54 76
Array etter fjerning av duplikater:
23 35 56 67 54 76
Innledende matrise:
5 6 1 1 7 5 8 2 7 8
Array etter fjerning av duplikater:
5 6 1 7 8 2
Innledende matrise:
32 35 33 32 33 38 32 39
Array etter fjerning av duplikater:
32 35 33 38 39

JavaScript-program for å fjerne dupliserte elementer fra en usortert serie

Nedenfor er JavaScript-programmet for å fjerne dupliserte elementer fra et usortert utvalg:

// JavaScript-program for å fjerne dupliserte elementer fra en usortert matrise
// Funksjon for å fjerne dupliserte elementer fra en usortert matrise
funksjon removeDuplicateElements (arr, størrelse) {
la m = nytt kart ();
for (la i = 0; jeg // Skriv ut elementet hvis det ikke er det
// til stede i hash-kartet
hvis (m.get (arr [i]) == null) {
document.write (arr [i] + "");
}
// Sett inn elementet i hash-kartet
m.set (arr [i], sant);
}
document.write ("
");
}
funksjon printArrayElements (arr, størrelse) {
for (la i = 0; Jegdocument.write (arr [i] + "");
}
document.write ("
");
}
la arr1 = [23, 35, 23, 56, 67, 35, 35, 54, 76];
la størrelse1 = arr1.lengde;
document.write ("Initial Array:" + "
");
printArrayElements (arr1, størrelse1);
document.write ("Array etter fjerning av duplikater:" + "
");
removeDuplicateElements (arr1, size1);
la arr2 = [5, 6, 1, 1, 7, 5, 8, 2, 7, 8];
la størrelse2 = arr2.lengde;
document.write ("Initial Array:" + "
");
printArrayElements (arr2, størrelse2);
document.write ("Array etter fjerning av duplikater:" + "
");
removeDuplicateElements (arr2, size2);
la arr3 = [32, 35, 33, 32, 33, 38, 32, 39];
la størrelse3 = arr3.length;
document.write ("Initial Array:" + "
");
printArrayElements (arr3, størrelse3);
document.write ("Array etter fjerning av duplikater:" + "
");
removeDuplicateElements (arr3, size3);

Produksjon:

Innledende matrise: 
23 35 23 56 67 35 35 54 76
Array etter fjerning av duplikater:
23 35 56 67 54 76
Innledende matrise:
5 6 1 1 7 5 8 2 7 8
Array etter fjerning av duplikater:
5 6 1 7 8 2
Innledende matrise:
32 35 33 32 33 38 32 39
Array etter fjerning av duplikater:
32 35 33 38 39

I slekt: Hvordan telle forekomster av en gitt karakter i en streng

Hvordan fjerne dupliserte elementer fra en sortert serie

Problemstilling

Du får et sortert utvalg av heltall. Du må fjerne dupliserte elementer fra matrisen og skrive ut matrisen med unike elementer.

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

Array etter fjerning av dupliserte elementer: 1 2 4 6 8 9

Dermed er utgangen 1 2 4 6 8 9.

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

Array etter fjerning av dupliserte elementer: 1 2 3 4 5

Dermed er utgangen 1 2 3 4 5.

Tilnærming for å fjerne dupliserte elementer fra en sortert matrise

Du kan fjerne dupliserte elementer fra en sortert matrise ved å følge fremgangsmåten nedenfor:

  1. Initialiser indeksvariablene i og j med 0.
  2. Iterer matrisen.
  3. Hvis ith-elementet ikke er lik det (i + 1) elementet, lagrer du ith-verdien i arr [j] og øker verdien av j.
  4. Øk verdien av i i hver iterasjon.
  5. Lagre den siste verdien av arr i arr [j].
  6. Til slutt returnerer den nye størrelsen på matrisen, dvs. j. Unike elementer vil bli lagret i matrisen fra indeks 0 til j-1.

Merk: Tidskompleksiteten til denne løsningen er O (n).

C ++ - program for å fjerne dupliserte elementer fra en sortert serie

Nedenfor er C ++ - programmet for å fjerne dupliserte elementer fra en sortert matrise:

// C ++ program for å fjerne dupliserte elementer fra en sortert matrise
#inkludere
bruker navneområde std;
// Funksjon for å fjerne dupliserte elementer fra en sortert matrise
int removeDuplicateElements (int arr [], int størrelse)
{
int j = 0;
for (int i = 0; i {
// Hvis dette elementet ikke er lik (i + 1) det elementet,
// lagre deretter verdien i arr [j]
hvis (arr [i]! = arr [i + 1])
{
arr [j] = arr [i];
j ++;
}
}
// Lagring av den siste verdien av 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 size1 = sizeof (arr1) / sizeof (arr1 [0]);
cout << "Initial Array:" << endl;
printArrayElements (arr1, størrelse1);
cout << "Array etter fjerning av duplikater:" << 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 etter fjerning av duplikater:" << 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 etter fjerning av duplikater:" << endl;
størrelse3 = removeDuplicateElements (arr3, størrelse3);
printArrayElements (arr3, størrelse3);
retur 0;
}

Produksjon:

Innledende matrise: 
1 1 1 2 4 6 8 8 9 9
Array etter fjerning av duplikater:
1 2 4 6 8 9
Innledende matrise:
1 1 2 2 3 3 4 4 5 5
Array etter fjerning av duplikater:
1 2 3 4 5
Innledende matrise:
10 12 12 14 16 16 18 19 19
Array etter fjerning av duplikater:
10 12 14 16 18 19

Python-program for å fjerne dupliserte elementer fra en sortert serie

Nedenfor er Python-programmet for å fjerne dupliserte elementer fra en sortert matrise:

# Python-program for å fjerne dupliserte elementer fra en sortert matrise
def removeDuplicateElements (arr, størrelse):
j = 0
for jeg innen rekkevidde (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
returner j
def printListElements (arr, størrelse):
for jeg innen rekkevidde (størrelse):
skriv ut (arr [i], end = "")
skrive ut()
arr1 = [1, 1, 1, 2, 4, 6, 8, 8, 9, 9]
størrelse1 = len (arr1)
utskrift ("Initial Array:")
printListElements (arr1, størrelse1)
print ("Array etter fjerning av duplikater:")
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)
utskrift ("Initial Array:")
printListElements (arr2, størrelse2)
print ("Array etter fjerning av duplikater:")
størrelse2 = removeDuplicateElements (arr2, størrelse2)
printListElements (arr2, størrelse2)
arr3 = [10, 12, 12, 14, 16, 16, 18, 19, 19]
størrelse3 = len (arr3)
utskrift ("Initial Array:")
printListElements (arr3, størrelse3)
print ("Array etter fjerning av duplikater:")
størrelse3 = removeDuplicateElements (arr3, størrelse3)
printListElements (arr3, størrelse3)

Produksjon:

Innledende matrise: 
1 1 1 2 4 6 8 8 9 9
Array etter fjerning av duplikater:
1 2 4 6 8 9
Innledende matrise:
1 1 2 2 3 3 4 4 5 5
Array etter fjerning av duplikater:
1 2 3 4 5
Innledende matrise:
10 12 12 14 16 16 18 19 19
Array etter fjerning av duplikater:
10 12 14 16 18 19

I slekt: En introduksjon til Merge Sort Algorithm

JavaScript-program for å fjerne dupliserte elementer fra en sortert serie

Nedenfor er JavaScript-programmet for å fjerne dupliserte elementer fra en sortert matrise:

// JavaScript-program for å fjerne dupliserte elementer fra en sortert matrise
// Funksjon for å fjerne dupliserte elementer fra en sortert matrise
funksjon removeDuplicateElements (arr, størrelse)
{
la j = 0;
for (la i = 0; i {
// Hvis dette elementet ikke er lik (i + 1) det elementet,
// lagre deretter verdien i arr [j]
hvis (arr [i]! = arr [i + 1])
{
arr [j] = arr [i];
j ++;
}
}
// Lagring av den siste verdien av arr i arr [j]
arr [j ++] = arr [størrelse-1];
returnere j;
}
funksjon printArrayElements (arr, størrelse) {
for (la i = 0; Jegdocument.write (arr [i] + "");
}
document.write ("
");
}
var arr1 = [1, 1, 1, 2, 4, 6, 8, 8, 9, 9];
var størrelse1 = arr1.lengde;
document.write ("Initial Array:" + "
");
printArrayElements (arr1, størrelse1);
document.write ("Array etter fjerning av duplikater:" + "
");
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.lengde;
document.write ("Initial Array:" + "
");
printArrayElements (arr2, størrelse2);
document.write ("Array etter fjerning av duplikater:" + "
");
størrelse2 = removeDuplicateElements (arr2, størrelse2);
printArrayElements (arr2, størrelse2);
var arr3 = [10, 12, 12, 14, 16, 16, 18, 19, 19];
var size3 = arr3.length;
document.write ("Initial Array:" + "
");
printArrayElements (arr3, størrelse3);
document.write ("Array etter fjerning av duplikater:" + "
");
størrelse3 = removeDuplicateElements (arr3, størrelse3);
printArrayElements (arr3, størrelse3);

Produksjon:

I slekt: Hvordan finne den hyppigst forekommende karakteren i en streng

Innledende matrise: 
1 1 1 2 4 6 8 8 9 9
Array etter fjerning av duplikater:
1 2 4 6 8 9
Innledende matrise:
1 1 2 2 3 3 4 4 5 5
Array etter fjerning av duplikater:
1 2 3 4 5
Innledende matrise:
10 12 12 14 16 16 18 19 19
Array etter fjerning av duplikater:
10 12 14 16 18 19

Øv på streng- og oppstillingsproblemer for ditt neste intervju

Streng- og arrayproblemer er blant de mest stilte spørsmålene i tekniske intervjuer.

Hvis du ønsker å være så forberedt som mulig, må du øve på noen vanlige problemer, som hvordan du sjekker om en streng er en palindrom, hvordan du kan sjekke om en streng er et anagram, finn det hyppigst forekommende tegnet i en streng, hvordan du reverserer en matrise, sorterings- og søkealgoritmer basert på matriser, hvordan du reverserer en streng, etc.

E-post
Hvordan reversere en streng i C ++, Python og JavaScript

Lær hvordan du snur en streng bakover på tre forskjellige språk.

Les Neste

Relaterte temaer
  • Programmering
  • JavaScript
  • Python
  • Koding opplæringsprogrammer
Om forfatteren
Yuvraj Chandra (40 artikler publisert)

Yuvraj er en informatikk-student ved University of Delhi, India. Han brenner for Full Stack Web Development. Når han ikke skriver, utforsker han dybden i forskjellige teknologier.

Mer fra Yuvraj Chandra

Abonner på vårt nyhetsbrev

Bli med på nyhetsbrevet vårt for tekniske tips, anmeldelser, gratis e-bøker og eksklusive tilbud!

Klikk her for å abonnere