Matrika je zbirka elementov z istimi podatkovnimi vrstami. To je linearna podatkovna struktura in je shranjena na sosednjih pomnilniških lokacijah. Na matriki lahko izvedete veliko osnovnih operacij, kot so vstavljanje, brisanje, iskanje, posodobitev, prehod itd.
V tem članku boste izvedeli, kako odstraniti podvojene elemente iz razvrščenih in nesortiranih nizov.
Kako odstraniti podvojene elemente iz nesortirane matrike
Izjava o težavi
Dobili ste nesortirano celo število. Iz matrike morate odstraniti podvojene elemente in matriko natisniti z unikatnimi elementi.
Primer 1: Naj arr = [23, 35, 23, 56, 67, 35, 35, 54, 76]
Niz po odstranitvi podvojenih elementov: 23 35 56 67 54 76
Tako je izhod 23 35 56 67 54 76.
2. primer: Naj bo arr = [5, 6, 1, 1, 7, 5, 8, 2, 7, 8]
Niz po odstranitvi podvojenih elementov: 5 6 1 7 8 2
Tako je rezultat 5 6 1 7 8 2.
Pristop za odstranjevanje podvojenih elementov iz nesortirane matrike
Podvojene elemente lahko iz nesortirane matrike odstranite tako, da sledite spodnjemu pristopu:
- Inicializirajte hash map, ki bo shranil vse edinstvene elemente polja.
- Prehod matrike.
- Preverite, ali je element prisoten v matriki.
- Če je element prisoten v matriki, nadaljujte s prehajanjem.
- Če element ni v matriki, ga natisnite in shranite v zemljevid zgoščevanja.
Opomba: Časovna zapletenost te rešitve je O (n).
Program C ++ za odstranjevanje podvojenih elementov iz nesortirane matrike
Spodaj je program C ++ za odstranjevanje podvojenih elementov iz nesortirane matrike:
// Program C ++ za odstranjevanje podvojenih elementov iz nesortirane matrike
#include
uporaba imenskega prostora std;
// Funkcija odstranjevanja podvojenih elementov iz nesortirane matrike
void removeDuplicateElements (int arr [], int velikost)
{
neurejena_mapa m;
za (int i = 0; jaz{
// Natisni element, če ni
// prisotno na zemljevidu razprševanja
če (m.find (arr [i]) == m.end ())
{
cout << arr [i] << "";
}
// Vstavimo element v zemljevid razprševanja
m [arr [i]] = res;
}
cout << endl;
}
void printArrayElements (int arr [], int velikost)
{
za (int i = 0; jaz{
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 << "Začetna matrika:" << endl;
printArrayElements (arr1, size1);
cout << "Polje po odstranitvi dvojnikov:" << endl;
removeDuplicateElements (arr1, size1);
int arr2 [] = {5, 6, 1, 1, 7, 5, 8, 2, 7, 8};
int size2 = sizeof (arr2) / sizeof (arr2 [0]);
cout << "Začetna matrika:" << endl;
printArrayElements (arr2, size2);
cout << "Polje po odstranitvi dvojnikov:" << endl;
removeDuplicateElements (arr2, size2);
int arr3 [] = {32, 35, 33, 32, 33, 38, 32, 39};
int size3 = sizeof (arr3) / sizeof (arr3 [0]);
cout << "Začetna matrika:" << endl;
printArrayElements (arr3, size3);
cout << "Polje po odstranitvi dvojnikov:" << endl;
removeDuplicateElements (arr3, size3);
vrnitev 0;
}
Izhod:
Začetno polje:
23 35 23 56 67 35 35 54 76
Matrika po odstranitvi dvojnikov:
23 35 56 67 54 76
Začetno polje:
5 6 1 1 7 5 8 2 7 8
Matrika po odstranitvi dvojnikov:
5 6 1 7 8 2
Začetno polje:
32 35 33 32 33 38 32 39
Matrika po odstranitvi dvojnikov:
32 35 33 38 39
Sorodno: Kako natisniti "Zdravo, svet!" v najbolj priljubljenih programskih jezikih
Program Python za odstranjevanje podvojenih elementov iz nesortirane matrike
Spodaj je program Python za odstranjevanje podvojenih elementov iz nesortirane matrike:
# Program Python za odstranjevanje podvojenih elementov z nerazvrščenega seznama
def removeDuplicateElements (arr, velikost):
m = {}
za i v območju (velikost):
# Natisnite element, če ni
# v slovarju
če arr [i] ni v m:
natisni (arr [i], end = "")
# Vstavite element v slovar
m [arr [i]] = 1
natisni ()
def printListElements (dol, velikost):
za i v območju (velikost):
natisni (arr [i], end = "")
natisni ()
arr1 = [23, 35, 23, 56, 67, 35, 35, 54, 76]
velikost1 = len (arr1)
print ("Začetni seznam:")
printListElements (arr1, size1)
print ("Seznam po odstranitvi dvojnikov:")
removeDuplicateElements (arr1, size1)
arr2 = [5, 6, 1, 1, 7, 5, 8, 2, 7, 8]
velikost2 = len (arr2)
print ("Začetni seznam:")
printListElements (arr2, size2)
print ("Seznam po odstranitvi dvojnikov:")
removeDuplicateElements (arr2, size2)
arr3 = [32, 35, 33, 32, 33, 38, 32, 39]
size3 = len (arr3)
print ("Začetni seznam:")
printListElements (arr3, size3)
print ("Seznam po odstranitvi dvojnikov:")
removeDuplicateElements (arr3, size3)
Izhod:
Začetno polje:
23 35 23 56 67 35 35 54 76
Matrika po odstranitvi dvojnikov:
23 35 56 67 54 76
Začetno polje:
5 6 1 1 7 5 8 2 7 8
Matrika po odstranitvi dvojnikov:
5 6 1 7 8 2
Začetno polje:
32 35 33 32 33 38 32 39
Matrika po odstranitvi dvojnikov:
32 35 33 38 39
Program JavaScript za odstranjevanje podvojenih elementov iz nesortirane matrike
Spodaj je program JavaScript za odstranjevanje podvojenih elementov iz nesortirane matrike:
// Program JavaScript za odstranjevanje podvojenih elementov iz nesortirane matrike
// Funkcija odstranjevanja podvojenih elementov iz nesortirane matrike
funkcija removeDuplicateElements (arr, velikost) {
naj je m = nov zemljevid ();
za (naj je i = 0; i // Natisni element, če ni
// prisotno na zemljevidu razprševanja
if (m.get (arr [i]) == null) {
document.write (arr [i] + "");
}
// Vstavimo element v zemljevid razprševanja
m.set (arr [i], true);
}
document.write ("
");
}
funkcija printArrayElements (arr, velikost) {
za (naj je i = 0; jazdocument.write (arr [i] + "");
}
document.write ("
");
}
naj bo arr1 = [23, 35, 23, 56, 67, 35, 35, 54, 76];
naj size1 = arr1.length;
document.write ("Začetno polje:" + "
");
printArrayElements (arr1, size1);
document.write ("Polje po odstranitvi dvojnikov:" + "
");
removeDuplicateElements (arr1, size1);
naj bo arr2 = [5, 6, 1, 1, 7, 5, 8, 2, 7, 8];
naj velikost2 = arr2.length;
document.write ("Začetno polje:" + "
");
printArrayElements (arr2, size2);
document.write ("Polje po odstranitvi dvojnikov:" + "
");
removeDuplicateElements (arr2, size2);
naj bo arr3 = [32, 35, 33, 32, 33, 38, 32, 39];
naj size3 = arr3.length;
document.write ("Začetno polje:" + "
");
printArrayElements (arr3, size3);
document.write ("Polje po odstranitvi dvojnikov:" + "
");
removeDuplicateElements (arr3, size3);
Izhod:
Začetno polje:
23 35 23 56 67 35 35 54 76
Matrika po odstranitvi dvojnikov:
23 35 56 67 54 76
Začetno polje:
5 6 1 1 7 5 8 2 7 8
Matrika po odstranitvi dvojnikov:
5 6 1 7 8 2
Začetno polje:
32 35 33 32 33 38 32 39
Matrika po odstranitvi dvojnikov:
32 35 33 38 39
Sorodno: Kako prešteti pojavitve danega lika v nizu
Kako odstraniti podvojene elemente iz razvrščenega polja
Izjava o težavi
Dobili boste razvrščeno polje celih števil. Iz matrike morate odstraniti podvojene elemente in matriko natisniti z unikatnimi elementi.
Primer 1: Naj arr = [1, 1, 1, 2, 4, 6, 8, 8, 9, 9]
Niz po odstranitvi podvojenih elementov: 1 2 4 6 8 9
Tako je rezultat 1 2 4 6 8 9.
2. primer: Naj bo arr = [1, 1, 2, 2, 3, 3, 4, 4, 5, 5]
Niz po odstranitvi podvojenih elementov: 1 2 3 4 5
Tako je rezultat 1 2 3 4 5.
Pristop za odstranjevanje podvojenih elementov iz razvrščenega polja
Podvojene elemente lahko iz razvrščenega polja odstranite tako, da sledite spodnjemu pristopu:
- Inicializirajte indeksni spremenljivki i in j z 0.
- Ponovite matriko.
- Če i-i element ni enak (i + 1) -temu elementu, shranite i-to vrednost v arr [j] in povečajte vrednost j.
- V vsaki ponovitvi povečajte vrednost i.
- Shrani zadnjo vrednost arr v arr [j].
- Končno vrnite novo velikost polja, tj. J. Unikatni elementi bodo shranjeni v matriki od indeksa 0 do j-1.
Opomba: Časovna zapletenost te rešitve je O (n).
Program C ++ za odstranjevanje podvojenih elementov iz razvrščenega polja
Spodaj je program C ++ za odstranjevanje podvojenih elementov iz razvrščenega polja:
// Program C ++ za odstranjevanje podvojenih elementov iz razvrščenega polja
#include
uporaba imenskega prostora std;
// Funkcija odstranjevanja podvojenih elementov iz razvrščenega polja
int removeDuplicateElements (int arr [], int velikost)
{
int j = 0;
za (int i = 0; i {
// Če i-i element ni enak (i + 1) -temu elementu,
// nato shranimo i-to vrednost v arr [j]
če (arr [i]! = arr [i + 1])
{
arr [j] = arr [i];
j ++;
}
}
// Shranjevanje zadnje vrednosti arr v arr [j]
arr [j ++] = arr [velikost-1];
vrnitev j;
}
void printArrayElements (int arr [], int velikost)
{
za (int i = 0; jaz{
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 << "Začetna matrika:" << endl;
printArrayElements (arr1, size1);
cout << "Polje po odstranitvi dvojnikov:" << 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 << "Začetna matrika:" << endl;
printArrayElements (arr2, size2);
cout << "Polje po odstranitvi dvojnikov:" << 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 << "Začetna matrika:" << endl;
printArrayElements (arr3, size3);
cout << "Polje po odstranitvi dvojnikov:" << endl;
size3 = removeDuplicateElements (arr3, size3);
printArrayElements (arr3, size3);
vrnitev 0;
}
Izhod:
Začetno polje:
1 1 1 2 4 6 8 8 9 9
Matrika po odstranitvi dvojnikov:
1 2 4 6 8 9
Začetno polje:
1 1 2 2 3 3 4 4 5 5
Matrika po odstranitvi dvojnikov:
1 2 3 4 5
Začetno polje:
10 12 12 14 16 16 18 19 19
Matrika po odstranitvi dvojnikov:
10 12 14 16 18 19
Program Python za odstranjevanje podvojenih elementov iz razvrščenega polja
Spodaj je program Python za odstranjevanje podvojenih elementov iz razvrščenega polja:
# Program Python za odstranjevanje podvojenih elementov iz razvrščenega polja
def removeDuplicateElements (arr, velikost):
j = 0
za i v območju (velikost-1):
če je arr [i]! = arr [i + 1]:
arr [j] = arr [i]
j = j + 1
arr [j] = arr [velikost-1]
j = j + 1
vrnitev j
def printListElements (dol, velikost):
za i v območju (velikost):
natisni (arr [i], end = "")
natisni ()
arr1 = [1, 1, 1, 2, 4, 6, 8, 8, 9, 9]
velikost1 = len (arr1)
print ("Začetna matrika:")
printListElements (arr1, size1)
print ("Polje po odstranitvi dvojnikov:")
size1 = removeDuplicateElements (arr1, size1)
printListElements (arr1, size1)
arr2 = [1, 1, 2, 2, 3, 3, 4, 4, 5, 5]
velikost2 = len (arr2)
print ("Začetna matrika:")
printListElements (arr2, size2)
print ("Polje po odstranitvi dvojnikov:")
size2 = removeDuplicateElements (arr2, size2)
printListElements (arr2, size2)
arr3 = [10, 12, 12, 14, 16, 16, 18, 19, 19]
size3 = len (arr3)
print ("Začetna matrika:")
printListElements (arr3, size3)
print ("Polje po odstranitvi dvojnikov:")
size3 = removeDuplicateElements (arr3, size3)
printListElements (arr3, size3)
Izhod:
Začetno polje:
1 1 1 2 4 6 8 8 9 9
Matrika po odstranitvi dvojnikov:
1 2 4 6 8 9
Začetno polje:
1 1 2 2 3 3 4 4 5 5
Matrika po odstranitvi dvojnikov:
1 2 3 4 5
Začetno polje:
10 12 12 14 16 16 18 19 19
Matrika po odstranitvi dvojnikov:
10 12 14 16 18 19
Sorodno: Uvod v algoritem sortiranja spajanja
Program JavaScript za odstranjevanje podvojenih elementov iz razvrščenega polja
Spodaj je program JavaScript za odstranjevanje podvojenih elementov iz razvrščenega polja:
// Program JavaScript za odstranjevanje podvojenih elementov iz razvrščenega polja
// Funkcija odstranjevanja podvojenih elementov iz razvrščenega polja
funkcija removeDuplicateElements (arr, velikost)
{
naj bo j = 0;
za (naj je i = 0; i {
// Če i-i element ni enak (i + 1) -temu elementu,
// nato shranimo i-to vrednost v arr [j]
če (arr [i]! = arr [i + 1])
{
arr [j] = arr [i];
j ++;
}
}
// Shranjevanje zadnje vrednosti arr v arr [j]
arr [j ++] = arr [velikost-1];
vrnitev j;
}
funkcija printArrayElements (arr, velikost) {
za (naj je i = 0; jazdocument.write (arr [i] + "");
}
document.write ("
");
}
var arr1 = [1, 1, 1, 2, 4, 6, 8, 8, 9, 9];
var size1 = arr1.length;
document.write ("Začetno polje:" + "
");
printArrayElements (arr1, size1);
document.write ("Polje po odstranitvi dvojnikov:" + "
");
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 ("Začetno polje:" + "
");
printArrayElements (arr2, size2);
document.write ("Polje po odstranitvi dvojnikov:" + "
");
size2 = removeDuplicateElements (arr2, size2);
printArrayElements (arr2, size2);
var arr3 = [10, 12, 12, 14, 16, 16, 18, 19, 19];
var size3 = arr3.length;
document.write ("Začetno polje:" + "
");
printArrayElements (arr3, size3);
document.write ("Polje po odstranitvi dvojnikov:" + "
");
size3 = removeDuplicateElements (arr3, size3);
printArrayElements (arr3, size3);
Izhod:
Sorodno: Kako najti najpogostejši lik v nizu
Začetno polje:
1 1 1 2 4 6 8 8 9 9
Matrika po odstranitvi dvojnikov:
1 2 4 6 8 9
Začetno polje:
1 1 2 2 3 3 4 4 5 5
Matrika po odstranitvi dvojnikov:
1 2 3 4 5
Začetno polje:
10 12 12 14 16 16 18 19 19
Matrika po odstranitvi dvojnikov:
10 12 14 16 18 19
Vadite težave z nizi in matriko za naslednji intervju
Težave z nizi in nizi so med najbolj vprašanimi temami v tehničnih intervjujih.
Če želite biti čim bolj pripravljeni, morate vaditi nekaj najpogostejših problemov, na primer kako preveriti, ali je niz palindrom, kako preveriti, ali je niz anagram, poiščite najpogostejši znak v nizu, kako obrniti matriko, algoritme za razvrščanje in iskanje na podlagi nizov, kako obrniti niz, itd.
Naučite se obrniti niz nazaj na spredaj v treh različnih jezikih.
Preberite Naprej
- Programiranje
- JavaScript
- Python
- Vadnice za kodiranje

Yuvraj je dodiplomski študent računalništva na Univerzi v Delhiju v Indiji. Navdušen je nad spletnim razvojem Full Stack. Ko ne piše, raziskuje globino različnih tehnologij.
Naročite se na naše novice
Pridružite se našemu glasilu za tehnične nasvete, preglede, brezplačne e-knjige in ekskluzivne ponudbe!
Kliknite tukaj, da se naročite