Niz je zbirka elemenata s istim vrstama podataka. To je linearna struktura podataka i pohranjena je na susjednim memorijskim mjestima. Na polju možete izvoditi mnoge osnovne operacije poput umetanja, brisanja, pretraživanja, ažuriranja, preokretanja itd.
U ovom ćete članku naučiti kako ukloniti dvostruke elemente iz razvrstanih i nerazvrstanih nizova.
Kako ukloniti dvostruke elemente iz nesortiranog niza
Izjava o problemu
Dobit ćete nerazvrstani niz cijelih brojeva. Iz polja morate ukloniti duplicirane elemente i ispisati niz s jedinstvenim elementima.
Primjer 1: Neka arr = [23, 35, 23, 56, 67, 35, 35, 54, 76]
Niz nakon uklanjanja dupliciranih elemenata: 23 35 56 67 54 76
Dakle, izlaz je 23 35 56 67 54 76.
Primjer 2: Neka je arr = [5, 6, 1, 1, 7, 5, 8, 2, 7, 8]
Niz nakon uklanjanja dvostrukih elemenata: 5 6 1 7 8 2
Dakle, izlaz je 5 6 1 7 8 2.
Pristup uklanjanju dvostrukih elemenata iz nesortiranog niza
Dvostruke elemente možete ukloniti iz nerazvrstanog niza slijedeći donji pristup:
- Inicijalizirajte hash kartu koja će pohraniti sve jedinstvene elemente niza.
- Pređite niz.
- Provjerite je li element prisutan u polju.
- Ako je element prisutan u polju, nastavite se kretati.
- Ako element nije prisutan u polju, ispišite ga i pohranite u hash kartu.
Bilješka: Vremenska složenost ovog rješenja je O (n).
Program C ++ za uklanjanje dvostrukih elemenata iz nesortiranog niza
Ispod je program C ++ za uklanjanje dupliciranih elemenata iz nerazvrstanog niza:
// C ++ program za uklanjanje dupliciranih elemenata iz nerazvrstanog niza
#include
pomoću prostora imena std;
// Funkcija za uklanjanje dupliciranih elemenata iz nerazvrstanog niza
void removeDuplicateElements (int arr [], int veličina)
{
neuređena_mapa m;
za (int i = 0; ja{
// Ispis elementa ako nije
// prisutan na hash mapi
if (m.find (arr [i]) == m.end ())
{
cout << arr [i] << "";
}
// Umetni element u hash kartu
m [arr [i]] = točno;
}
cout << endl;
}
void printArrayElements (int arr [], int veličina)
{
za (int i = 0; ja{
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 << "Početni niz:" << endl;
printArrayElements (arr1, size1);
cout << "Niz nakon uklanjanja duplikata:" << endl;
removeDuplicateElements (arr1, size1);
int arr2 [] = {5, 6, 1, 1, 7, 5, 8, 2, 7, 8};
int size2 = sizeof (arr2) / sizeof (arr2 [0]);
cout << "Početni niz:" << endl;
printArrayElements (arr2, size2);
cout << "Niz nakon uklanjanja duplikata:" << endl;
removeDuplicateElements (arr2, size2);
int arr3 [] = {32, 35, 33, 32, 33, 38, 32, 39};
int size3 = sizeof (arr3) / sizeof (arr3 [0]);
cout << "Početni niz:" << endl;
printArrayElements (arr3, size3);
cout << "Niz nakon uklanjanja duplikata:" << endl;
removeDuplicateElements (arr3, size3);
return 0;
}
Izlaz:
Početni niz:
23 35 23 56 67 35 35 54 76
Niz nakon uklanjanja duplikata:
23 35 56 67 54 76
Početni niz:
5 6 1 1 7 5 8 2 7 8
Niz nakon uklanjanja duplikata:
5 6 1 7 8 2
Početni niz:
32 35 33 32 33 38 32 39
Niz nakon uklanjanja duplikata:
32 35 33 38 39
Povezano: Kako ispisati "Hello, World!" na najpopularnijim programskim jezicima
Python program za uklanjanje dvostrukih elemenata iz nesortiranog niza
Ispod je program Python za uklanjanje dupliciranih elemenata iz nerazvrstanog niza:
# Python program za uklanjanje dupliciranih elemenata s nerazvrstanog popisa
def removeDuplicateElements (arr, veličina):
m = {}
za i u opsegu (veličina):
# Ispišite element ako nije
# prisutno u rječniku
ako arr [i] nije u m:
ispis (arr [i], end = "")
# Umetnite element u rječnik
m [arr [i]] = 1
ispis ()
def printListElements (arr, veličina):
za i u opsegu (veličina):
ispis (arr [i], end = "")
ispis ()
arr1 = [23, 35, 23, 56, 67, 35, 35, 54, 76]
veličina1 = len (arr1)
ispis ("Početni popis:")
printListElements (arr1, size1)
print ("Popis nakon uklanjanja duplikata:")
removeDuplicateElements (arr1, size1)
arr2 = [5, 6, 1, 1, 7, 5, 8, 2, 7, 8]
veličina2 = len (arr2)
ispis ("Početni popis:")
printListElements (arr2, size2)
print ("Popis nakon uklanjanja duplikata:")
removeDuplicateElements (arr2, size2)
arr3 = [32, 35, 33, 32, 33, 38, 32, 39]
size3 = len (arr3)
ispis ("Početni popis:")
printListElements (arr3, size3)
print ("Popis nakon uklanjanja duplikata:")
removeDuplicateElements (arr3, size3)
Izlaz:
Početni niz:
23 35 23 56 67 35 35 54 76
Niz nakon uklanjanja duplikata:
23 35 56 67 54 76
Početni niz:
5 6 1 1 7 5 8 2 7 8
Niz nakon uklanjanja duplikata:
5 6 1 7 8 2
Početni niz:
32 35 33 32 33 38 32 39
Niz nakon uklanjanja duplikata:
32 35 33 38 39
JavaScript program za uklanjanje dvostrukih elemenata iz nesortiranog niza
Ispod je JavaScript program za uklanjanje dupliciranih elemenata iz nerazvrstanog niza:
// JavaScript program za uklanjanje dupliciranih elemenata iz nerazvrstanog niza
// Funkcija za uklanjanje dupliciranih elemenata iz nerazvrstanog niza
funkcija removeDuplicateElements (arr, veličina) {
neka je m = nova karta ();
za (neka je i = 0; i // Ispis elementa ako nije
// prisutan na hash mapi
if (m.get (arr [i]) == null) {
document.write (arr [i] + "");
}
// Umetni element u hash kartu
m.set (arr [i], true);
}
document.write ("
");
}
funkcija printArrayElements (arr, veličina) {
za (neka je i = 0; jadocument.write (arr [i] + "");
}
document.write ("
");
}
neka arr1 = [23, 35, 23, 56, 67, 35, 35, 54, 76];
neka size1 = arr1.length;
document.write ("Početni niz:" + "
");
printArrayElements (arr1, size1);
document.write ("Niz nakon uklanjanja duplikata:" + "
");
removeDuplicateElements (arr1, size1);
neka je arr2 = [5, 6, 1, 1, 7, 5, 8, 2, 7, 8];
neka size2 = arr2.length;
document.write ("Početni niz:" + "
");
printArrayElements (arr2, size2);
document.write ("Niz nakon uklanjanja duplikata:" + "
");
removeDuplicateElements (arr2, size2);
neka je arr3 = [32, 35, 33, 32, 33, 38, 32, 39];
neka size3 = arr3.length;
document.write ("Početni niz:" + "
");
printArrayElements (arr3, size3);
document.write ("Niz nakon uklanjanja duplikata:" + "
");
removeDuplicateElements (arr3, size3);
Izlaz:
Početni niz:
23 35 23 56 67 35 35 54 76
Niz nakon uklanjanja duplikata:
23 35 56 67 54 76
Početni niz:
5 6 1 1 7 5 8 2 7 8
Niz nakon uklanjanja duplikata:
5 6 1 7 8 2
Početni niz:
32 35 33 32 33 38 32 39
Niz nakon uklanjanja duplikata:
32 35 33 38 39
Povezano: Kako brojati pojave datog lika u nizu
Kako ukloniti dvostruke elemente iz razvrstanog niza
Izjava o problemu
Dobit ćete razvrstani niz cijelih brojeva. Iz polja morate ukloniti duplicirane elemente i ispisati niz s jedinstvenim elementima.
Primjer 1: Neka je arr = [1, 1, 1, 2, 4, 6, 8, 8, 9, 9]
Niz nakon uklanjanja dupliciranih elemenata: 1 2 4 6 8 9
Dakle, izlaz je 1 2 4 6 8 9.
Primjer 2: Neka je arr = [1, 1, 2, 2, 3, 3, 4, 4, 5, 5]
Niz nakon uklanjanja dupliciranih elemenata: 1 2 3 4 5
Dakle, izlaz je 1 2 3 4 5.
Pristup uklanjanju dvostrukih elemenata iz razvrstanog niza
Dvostruke elemente možete ukloniti iz razvrstanog niza slijedeći donji pristup:
- Inicijalizirajte indeksne varijable i i j s 0.
- Ponovite niz.
- Ako i-ti element nije jednak (i + 1) -tom elementu, tada pohranite i-tu vrijednost u arr [j] i povećajte vrijednost j.
- Povećajte vrijednost i u svakoj iteraciji.
- Spremite zadnju vrijednost arr u arr [j].
- Napokon vratite novu veličinu niza, tj. J. Jedinstveni elementi pohranit će se u polje od indeksa 0 do j-1.
Bilješka: Vremenska složenost ovog rješenja je O (n).
Program C ++ za uklanjanje dvostrukih elemenata iz razvrstanog niza
Ispod je program C ++ za uklanjanje dupliciranih elemenata iz razvrstanog niza:
// C ++ program za uklanjanje dupliciranih elemenata iz razvrstanog niza
#include
pomoću prostora imena std;
// Funkcija uklanjanja dupliciranih elemenata iz razvrstanog niza
int removeDuplicateElements (int arr [], int veličina)
{
int j = 0;
za (int i = 0; i {
// Ako i-ti element nije jednak (i + 1) -tom elementu,
// zatim pohranjujemo i-tu vrijednost u arr [j]
ako (arr [i]! = arr [i + 1])
{
arr [j] = arr [i];
j ++;
}
}
// Pohranjivanje posljednje vrijednosti arr u arr [j]
arr [j ++] = arr [veličina-1];
povratak j;
}
void printArrayElements (int arr [], int veličina)
{
za (int i = 0; ja{
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 << "Početni niz:" << endl;
printArrayElements (arr1, size1);
cout << "Niz nakon uklanjanja duplikata:" << 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 << "Početni niz:" << endl;
printArrayElements (arr2, size2);
cout << "Niz nakon uklanjanja duplikata:" << 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 << "Početni niz:" << endl;
printArrayElements (arr3, size3);
cout << "Niz nakon uklanjanja duplikata:" << endl;
size3 = removeDuplicateElements (arr3, size3);
printArrayElements (arr3, size3);
return 0;
}
Izlaz:
Početni niz:
1 1 1 2 4 6 8 8 9 9
Niz nakon uklanjanja duplikata:
1 2 4 6 8 9
Početni niz:
1 1 2 2 3 3 4 4 5 5
Niz nakon uklanjanja duplikata:
1 2 3 4 5
Početni niz:
10 12 12 14 16 16 18 19 19
Niz nakon uklanjanja duplikata:
10 12 14 16 18 19
Python program za uklanjanje dvostrukih elemenata iz razvrstanog niza
Ispod je program Python za uklanjanje dupliciranih elemenata iz razvrstanog niza:
# Python program za uklanjanje dupliciranih elemenata iz razvrstanog niza
def removeDuplicateElements (arr, veličina):
j = 0
za i u rasponu (veličina-1):
ako je arr [i]! = arr [i + 1]:
arr [j] = arr [i]
j = j + 1
arr [j] = arr [size-1]
j = j + 1
povratak j
def printListElements (arr, veličina):
za i u opsegu (veličina):
ispis (arr [i], end = "")
ispis ()
arr1 = [1, 1, 1, 2, 4, 6, 8, 8, 9, 9]
veličina1 = len (arr1)
ispis ("Početni niz:")
printListElements (arr1, size1)
print ("Niz nakon uklanjanja duplikata:")
size1 = removeDuplicateElements (arr1, size1)
printListElements (arr1, size1)
arr2 = [1, 1, 2, 2, 3, 3, 4, 4, 5, 5]
veličina2 = len (arr2)
ispis ("Početni niz:")
printListElements (arr2, size2)
print ("Niz nakon uklanjanja duplikata:")
size2 = removeDuplicateElements (arr2, size2)
printListElements (arr2, size2)
arr3 = [10, 12, 12, 14, 16, 16, 18, 19, 19]
size3 = len (arr3)
ispis ("Početni niz:")
printListElements (arr3, size3)
print ("Niz nakon uklanjanja duplikata:")
size3 = removeDuplicateElements (arr3, size3)
printListElements (arr3, size3)
Izlaz:
Početni niz:
1 1 1 2 4 6 8 8 9 9
Niz nakon uklanjanja duplikata:
1 2 4 6 8 9
Početni niz:
1 1 2 2 3 3 4 4 5 5
Niz nakon uklanjanja duplikata:
1 2 3 4 5
Početni niz:
10 12 12 14 16 16 18 19 19
Niz nakon uklanjanja duplikata:
10 12 14 16 18 19
Povezano: Uvod u algoritam sortiranja stapanja
JavaScript program za uklanjanje dvostrukih elemenata iz razvrstanog niza
Ispod je JavaScript program za uklanjanje dupliciranih elemenata iz razvrstanog niza:
// JavaScript program za uklanjanje dupliciranih elemenata iz razvrstanog niza
// Funkcija uklanjanja dupliciranih elemenata iz razvrstanog niza
funkcija removeDuplicateElements (arr, veličina)
{
neka j = 0;
za (neka je i = 0; i {
// Ako i-ti element nije jednak (i + 1) -tom elementu,
// zatim pohranjujemo i-tu vrijednost u arr [j]
ako (arr [i]! = arr [i + 1])
{
arr [j] = arr [i];
j ++;
}
}
// Pohranjivanje posljednje vrijednosti arr u arr [j]
arr [j ++] = arr [veličina-1];
povratak j;
}
funkcija printArrayElements (arr, veličina) {
za (neka je i = 0; jadocument.write (arr [i] + "");
}
document.write ("
");
}
var arr1 = [1, 1, 1, 2, 4, 6, 8, 8, 9, 9];
var size1 = arr1.length;
document.write ("Početni niz:" + "
");
printArrayElements (arr1, size1);
document.write ("Niz nakon uklanjanja duplikata:" + "
");
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 ("Početni niz:" + "
");
printArrayElements (arr2, size2);
document.write ("Niz nakon uklanjanja duplikata:" + "
");
size2 = removeDuplicateElements (arr2, size2);
printArrayElements (arr2, size2);
var arr3 = [10, 12, 12, 14, 16, 16, 18, 19, 19];
var size3 = arr3.length;
document.write ("Početni niz:" + "
");
printArrayElements (arr3, size3);
document.write ("Niz nakon uklanjanja duplikata:" + "
");
size3 = removeDuplicateElements (arr3, size3);
printArrayElements (arr3, size3);
Izlaz:
Povezano: Kako pronaći lik koji se najčešće pojavljuje u nizu
Početni niz:
1 1 1 2 4 6 8 8 9 9
Niz nakon uklanjanja duplikata:
1 2 4 6 8 9
Početni niz:
1 1 2 2 3 3 4 4 5 5
Niz nakon uklanjanja duplikata:
1 2 3 4 5
Početni niz:
10 12 12 14 16 16 18 19 19
Niz nakon uklanjanja duplikata:
10 12 14 16 18 19
Vježbajte probleme s nizovima i nizovima za sljedeći intervju
Problemi s nizovima i nizovima među najtraženijim su temama u tehničkim intervjuima.
Ako želite biti što pripremljeniji, morate vježbati neke često postavljane probleme poput provjere je li niz palindrom, kako provjeriti je li niz anagram, pronaći znak koji se najčešće pojavljuje u nizu, kako preokrenuti niz, algoritme za sortiranje i pretraživanje na temelju nizova, kako preokrenuti niz, itd.
Saznajte kako preokrenuti niz unatrag prema naprijed na tri različita jezika.
Pročitajte Dalje
- Programiranje
- JavaScript
- Piton
- Vodiči za kodiranje
Yuvraj je studentica preddiplomskog studija računarstva na Sveučilištu u Delhiju u Indiji. Zaljubljen je u Full Stack web razvoj. Kad ne piše, istražuje dubinu različitih tehnologija.
Pretplatite se na naše obavijesti
Pridružite se našem biltenu za tehničke savjete, recenzije, besplatne e-knjige i ekskluzivne ponude!
Kliknite ovdje da biste se pretplatili