En array är en samling element med samma datatyper. Det är en linjär datastruktur och lagras på angränsande minnesplatser. Du kan utföra många grundläggande operationer i en matris som insättning, radering, sökning, uppdatering, genomgång etc.

I den här artikeln lär du dig hur du tar bort dubbletter från sorterade och osorterade matriser.

Hur man tar bort duplicerade element från en osorterad matris

Problemförklaring

Du får ett osorterat antal heltal. Du måste ta bort dubbletterna från matrisen och skriva ut matrisen med unika element.

Exempel 1: Låt arr = [23, 35, 23, 56, 67, 35, 35, 54, 76]

Array efter borttagning av dubbletter: 23 35 56 67 54 76

Således är utgången 23 35 56 67 54 76.

Exempel 2: Låt arr = [5, 6, 1, 1, 7, 5, 8, 2, 7, 8]

Array efter att dubbla element har tagits bort: 5 6 1 7 8 2

Således är utgången 5 6 1 7 8 2.

Tillvägagångssätt för att ta bort duplicerade element från en osorterad matris

Du kan ta bort dubbletter från en osorterad matris genom att följa metoden nedan:

instagram viewer
  1. Initiera en hash-karta som lagrar alla unika element i matrisen.
  2. Korsa matrisen.
  3. Kontrollera om elementet finns i matrisen.
  4. Om elementet finns i matrisen, fortsätt att korsa.
  5. Om elementet inte finns i matrisen, skriv ut elementet och lagra det på hash-kartan.

Notera: Tids komplexiteten för denna lösning är O (n).

C ++ - program för att ta bort duplicerade element från en osorterad matris

Nedan följer C ++ - programmet för att ta bort dubbletter från en osorterad matris:

// C ++ - program för att ta bort dubbletter från en osorterad matris
#omfatta
använder namnrymd std;
// Funktion för att ta bort dubbletter från en osorterad matris
ogiltig removeDuplicateElements (int arr [], int storlek)
{
unordered_map m;
för (int i = 0; i{
// Skriv ut elementet om det inte är det
// finns i hash-kartan
om (m.find (arr [i]) == m.end ())
{
cout << arr [i] << "";
}
// Sätt in elementet i hash-kartan
m [arr [i]] = sant;
}
cout << endl;
}
ogiltigt printArrayElements (int arr [], int storlek)
{
för (int i = 0; i{
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, storlek1);
cout << "Array efter att ha tagit bort dubbletter:" << 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, storlek2);
cout << "Array efter att ha tagit bort dubbletter:" << 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, size3);
cout << "Array efter att ha tagit bort dubbletter:" << endl;
removeDuplicateElements (arr3, size3);
returnera 0;
}

Produktion:

Inledande matris: 
23 35 23 56 67 35 35 54 76
Array efter borttagning av dubbletter:
23 35 56 67 54 76
Inledande matris:
5 6 1 1 7 5 8 2 7 8
Array efter borttagning av dubbletter:
5 6 1 7 8 2
Inledande matris:
32 35 33 32 33 38 32 39
Array efter borttagning av dubbletter:
32 35 33 38 39

Relaterad: Hur man skriver ut "Hello, World!" på de mest populära programmeringsspråken

Python-program för att ta bort duplicerade element från en osorterad matris

Nedan finns Python-programmet för att ta bort dubbletter från en osorterad matris:

# Python-program för att ta bort dubbletter från en osorterad lista
def removeDuplicateElements (arr, storlek):
m = {}
för jag inom intervallet (storlek):
# Skriv ut elementet om det inte är det
# närvarande i ordboken
om arr [i] inte i m:
skriva ut (arr [i], end = "")
# Sätt in elementet i ordboken
m [arr [i]] = 1
skriva ut()
def printListElements (arr, storlek):
för jag inom intervallet (storlek):
skriva ut (arr [i], end = "")
skriva ut()
arr1 = [23, 35, 23, 56, 67, 35, 35, 54, 76]
storlek1 = len (arr1)
skriva ut ("Initial List:")
printListElements (arr1, storlek1)
print ("Lista efter borttagning av dubbletter:")
removeDuplicateElements (arr1, size1)
arr2 = [5, 6, 1, 1, 7, 5, 8, 2, 7, 8]
storlek2 = len (arr2)
skriva ut ("Initial List:")
printListElements (arr2, size2)
print ("Lista efter borttagning av dubbletter:")
removeDuplicateElements (arr2, size2)
arr3 = [32, 35, 33, 32, 33, 38, 32, 39]
storlek3 = len (arr3)
skriva ut ("Initial List:")
printListElements (arr3, size3)
print ("Lista efter borttagning av dubbletter:")
removeDuplicateElements (arr3, size3)

Produktion:

Inledande matris: 
23 35 23 56 67 35 35 54 76
Array efter borttagning av dubbletter:
23 35 56 67 54 76
Inledande matris:
5 6 1 1 7 5 8 2 7 8
Array efter borttagning av dubbletter:
5 6 1 7 8 2
Inledande matris:
32 35 33 32 33 38 32 39
Array efter borttagning av dubbletter:
32 35 33 38 39

JavaScript-program för att ta bort duplicerade element från en osorterad matris

Nedan följer JavaScript-programmet för att ta bort dubbletter från en osorterad matris:

// JavaScript-program för att ta bort dubbletter från en osorterad matris
// Funktion för att ta bort dubbletter från en osorterad matris
function removeDuplicateElements (arr, storlek) {
låt m = ny karta ();
för (låt i = 0; i // Skriv ut elementet om det inte är det
// finns i hash-kartan
om (m.get (arr [i]) == null) {
document.write (arr [i] + "");
}
// Sätt in elementet i hash-kartan
m.set (arr [i], sant);
}
document.write ("
");
}
funktion printArrayElements (arr, storlek) {
för (låt i = 0; idocument.write (arr [i] + "");
}
document.write ("
");
}
låt arr1 = [23, 35, 23, 56, 67, 35, 35, 54, 76];
låt storlek1 = arr1.längd;
document.write ("Initial Array:" + "
");
printArrayElements (arr1, storlek1);
document.write ("Array efter borttagning av dubbletter:" + "
");
removeDuplicateElements (arr1, size1);
låt arr2 = [5, 6, 1, 1, 7, 5, 8, 2, 7, 8];
låt storlek2 = arr2.längd;
document.write ("Initial Array:" + "
");
printArrayElements (arr2, storlek2);
document.write ("Array efter borttagning av dubbletter:" + "
");
removeDuplicateElements (arr2, size2);
låt arr3 = [32, 35, 33, 32, 33, 38, 32, 39];
låt storlek3 = arr3.längd;
document.write ("Initial Array:" + "
");
printArrayElements (arr3, size3);
document.write ("Array efter borttagning av dubbletter:" + "
");
removeDuplicateElements (arr3, size3);

Produktion:

Inledande matris: 
23 35 23 56 67 35 35 54 76
Array efter borttagning av dubbletter:
23 35 56 67 54 76
Inledande matris:
5 6 1 1 7 5 8 2 7 8
Array efter borttagning av dubbletter:
5 6 1 7 8 2
Inledande matris:
32 35 33 32 33 38 32 39
Array efter borttagning av dubbletter:
32 35 33 38 39

Relaterad: Hur man räknar förekomsten av en given karaktär i en sträng

Hur man tar bort duplicerade element från en sorterad matris

Problemförklaring

Du får ett sorterat antal heltal. Du måste ta bort dubbletterna från matrisen och skriva ut matrisen med unika element.

Exempel 1: Låt arr = [1, 1, 1, 2, 4, 6, 8, 8, 9, 9]

Array efter att dubbla element har tagits bort: 1 2 4 6 8 9

Således är utgången 1 2 4 6 8 9.

Exempel 2: Låt arr = [1, 1, 2, 2, 3, 3, 4, 4, 5, 5]

Array efter att dubbla element har tagits bort: 1 2 3 4 5

Således är utgången 1 2 3 4 5.

Tillvägagångssätt för att ta bort duplicerade element från en sorterad matris

Du kan ta bort dubbletter från en sorterad matris genom att följa metoden nedan:

  1. Initiera indexvariablerna i och j med 0.
  2. Iterera matrisen.
  3. Om ith-elementet inte är lika med (i + 1) th-elementet, lagra sedan ith-värdet i arr [j] och öka värdet på j.
  4. Öka värdet på i i varje iteration.
  5. Spara det sista värdet av arr i arr [j].
  6. Slutligen returnera den nya storleken på matrisen, dvs j. Unika element lagras i matrisen från index 0 till j-1.

Notera: Tids komplexiteten för denna lösning är O (n).

C ++ - program för att ta bort duplicerade element från en sorterad matris

Nedan följer C ++ - programmet för att ta bort dubbletter från en sorterad matris:

// C ++ - program för att ta bort dubbletter från en sorterad matris
#omfatta
använder namnrymd std;
// Funktion för att ta bort dubbletter från en sorterad matris
int removeDuplicateElements (int arr [], int storlek)
{
int j = 0;
för (int i = 0; i {
// Om ith-elementet inte är lika med (i + 1) th-elementet,
// lagra sedan i-värdet i arr [j]
om (arr [i]! = arr [i + 1])
{
arr [j] = arr [i];
j ++;
}
}
// Lagring av det sista värdet av arr i arr [j]
arr [j ++] = arr [storlek-1];
returnera j;
}
ogiltigt printArrayElements (int arr [], int storlek)
{
för (int i = 0; i{
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, storlek1);
cout << "Array efter att ha tagit bort dubbletter:" << endl;
storlek1 = removeDuplicateElements (arr1, storlek1);
printArrayElements (arr1, storlek1);
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, storlek2);
cout << "Array efter att ha tagit bort dubbletter:" << endl;
size2 = removeDuplicateElements (arr2, size2);
printArrayElements (arr2, storlek2);
int arr3 [] = {10, 12, 12, 14, 16, 16, 18, 19, 19};
int size3 = sizeof (arr3) / sizeof (arr3 [0]);
cout << "Initial Array:" << endl;
printArrayElements (arr3, size3);
cout << "Array efter att ha tagit bort dubbletter:" << endl;
size3 = removeDuplicateElements (arr3, size3);
printArrayElements (arr3, size3);
returnera 0;
}

Produktion:

Inledande matris: 
1 1 1 2 4 6 8 8 9 9
Array efter borttagning av dubbletter:
1 2 4 6 8 9
Inledande matris:
1 1 2 2 3 3 4 4 5 5
Array efter borttagning av dubbletter:
1 2 3 4 5
Inledande matris:
10 12 12 14 16 16 18 19 19
Array efter borttagning av dubbletter:
10 12 14 16 18 19

Python-program för att ta bort duplicerade element från en sorterad matris

Nedan finns Python-programmet för att ta bort dubbletter från en sorterad matris:

# Python-program för att ta bort dubbletter från en sorterad matris
def removeDuplicateElements (arr, storlek):
j = 0
för jag inom intervallet (storlek-1):
om arr [i]! = arr [i + 1]:
arr [j] = arr [i]
j = j + 1
arr [j] = arr [storlek-1]
j = j + 1
returnera j
def printListElements (arr, storlek):
för jag inom intervallet (storlek):
skriva ut (arr [i], end = "")
skriva ut()
arr1 = [1, 1, 1, 2, 4, 6, 8, 8, 9, 9]
storlek1 = len (arr1)
tryck ("Initial Array:")
printListElements (arr1, storlek1)
print ("Array efter att ha tagit bort dubbletter:")
storlek1 = removeDuplicateElements (arr1, storlek1)
printListElements (arr1, storlek1)
arr2 = [1, 1, 2, 2, 3, 3, 4, 4, 5, 5]
storlek2 = len (arr2)
tryck ("Initial Array:")
printListElements (arr2, size2)
print ("Array efter att ha tagit bort dubbletter:")
size2 = removeDuplicateElements (arr2, size2)
printListElements (arr2, size2)
arr3 = [10, 12, 12, 14, 16, 16, 18, 19, 19]
storlek3 = len (arr3)
tryck ("Initial Array:")
printListElements (arr3, size3)
print ("Array efter att ha tagit bort dubbletter:")
size3 = removeDuplicateElements (arr3, size3)
printListElements (arr3, size3)

Produktion:

Inledande matris: 
1 1 1 2 4 6 8 8 9 9
Array efter borttagning av dubbletter:
1 2 4 6 8 9
Inledande matris:
1 1 2 2 3 3 4 4 5 5
Array efter borttagning av dubbletter:
1 2 3 4 5
Inledande matris:
10 12 12 14 16 16 18 19 19
Array efter borttagning av dubbletter:
10 12 14 16 18 19

Relaterad: En introduktion till Merge Sort Algorithm

JavaScript-program för att ta bort duplicerade element från en sorterad matris

Nedan följer JavaScript-programmet för att ta bort dubbletter från en sorterad matris:

// JavaScript-program för att ta bort dubbletter från en sorterad matris
// Funktion för att ta bort dubbletter från en sorterad matris
function removeDuplicateElements (arr, storlek)
{
låt j = 0;
för (låt i = 0; i {
// Om ith-elementet inte är lika med (i + 1) th-elementet,
// lagra sedan i-värdet i arr [j]
om (arr [i]! = arr [i + 1])
{
arr [j] = arr [i];
j ++;
}
}
// Lagring av det sista värdet av arr i arr [j]
arr [j ++] = arr [storlek-1];
returnera j;
}
funktion printArrayElements (arr, storlek) {
för (låt i = 0; idocument.write (arr [i] + "");
}
document.write ("
");
}
var arrl = [1, 1, 1, 2, 4, 6, 8, 8, 9, 9];
var storlek1 = arr1.längd;
document.write ("Initial Array:" + "
");
printArrayElements (arr1, storlek1);
document.write ("Array efter borttagning av dubbletter:" + "
");
storlek1 = removeDuplicateElements (arr1, storlek1);
printArrayElements (arr1, storlek1);
var arr2 = [1, 1, 2, 2, 3, 3, 4, 4, 5, 5];
var storlek2 = arr2.längd;
document.write ("Initial Array:" + "
");
printArrayElements (arr2, storlek2);
document.write ("Array efter borttagning av dubbletter:" + "
");
size2 = removeDuplicateElements (arr2, size2);
printArrayElements (arr2, storlek2);
var arr3 = [10, 12, 12, 14, 16, 16, 18, 19, 19];
var storlek3 = arr3.längd;
document.write ("Initial Array:" + "
");
printArrayElements (arr3, size3);
document.write ("Array efter borttagning av dubbletter:" + "
");
size3 = removeDuplicateElements (arr3, size3);
printArrayElements (arr3, size3);

Produktion:

Relaterad: Hur man hittar den mest förekommande karaktären i en sträng

Inledande matris: 
1 1 1 2 4 6 8 8 9 9
Array efter borttagning av dubbletter:
1 2 4 6 8 9
Inledande matris:
1 1 2 2 3 3 4 4 5 5
Array efter borttagning av dubbletter:
1 2 3 4 5
Inledande matris:
10 12 12 14 16 16 18 19 19
Array efter borttagning av dubbletter:
10 12 14 16 18 19

Öva på sträng- och matrisproblem för din nästa intervju

Sträng- och arrayproblem är bland de mest efterfrågade ämnena i tekniska intervjuer.

Om du vill vara så förberedd som möjligt måste du öva på några vanliga frågor som hur man kontrollerar om en sträng är en palindrom, hur man kontrollerar om en sträng är ett anagram, hitta det mest förekommande tecknet i en sträng, hur man vänder om en matris, sorterings- och sökalgoritmer baserat på matriser, hur man vänder en sträng, etc.

E-post
Hur man gör om en sträng i C ++, Python och JavaScript

Lär dig hur du vänder en sträng bakåt på tre olika språk.

Läs Nästa

Relaterade ämnen
  • Programmering
  • JavaScript
  • Pytonorm
  • Kodningshandledning
Om författaren
Yuvraj Chandra (40 artiklar publicerade)

Yuvraj är en doktorand vid datavetenskap vid University of Delhi, Indien. Han brinner för Full Stack webbutveckling. När han inte skriver utforskar han djupet i olika tekniker.

Mer från Yuvraj Chandra

Prenumerera på vårt nyhetsbrev

Gå med i vårt nyhetsbrev för tekniska tips, recensioner, gratis e-böcker och exklusiva erbjudanden!

Klicka här för att prenumerera