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:
- Initiera en hash-karta som lagrar alla unika element i matrisen.
- Korsa matrisen.
- Kontrollera om elementet finns i matrisen.
- Om elementet finns i matrisen, fortsätt att korsa.
- 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:
- Initiera indexvariablerna i och j med 0.
- Iterera matrisen.
- 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.
- Öka värdet på i i varje iteration.
- Spara det sista värdet av arr i arr [j].
- 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.
Lär dig hur du vänder en sträng bakåt på tre olika språk.
Läs Nästa
- Programmering
- JavaScript
- Pytonorm
- Kodningshandledning
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.
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