Array adalah kumpulan elemen dengan tipe data yang sama. Ini adalah struktur data linier dan disimpan di lokasi memori yang berdekatan. Anda dapat melakukan banyak operasi dasar pada array seperti penyisipan, penghapusan, pencarian, pembaruan, traversal, dll.

Dalam artikel ini, Anda akan mempelajari cara menghapus elemen duplikat dari array yang diurutkan dan tidak diurutkan.

Cara Menghapus Elemen Duplikat Dari Array yang Tidak Disortir

Pernyataan masalah

Anda diberi array bilangan bulat yang tidak disortir. Anda perlu menghapus elemen duplikat dari array dan mencetak array dengan elemen unik.

Contoh 1: Misalkan arr = [23, 35, 23, 56, 67, 35, 35, 54, 76]

Array setelah menghapus elemen duplikat: 23 35 56 67 54 76

Jadi, outputnya adalah 23 35 56 67 54 76.

Contoh 2: Misalkan arr = [5, 6, 1, 1, 7, 5, 8, 2, 7, 8]

Array setelah menghapus elemen duplikat: 5 6 1 7 8 2

Jadi, outputnya adalah 5 6 1 7 8 2.

Pendekatan untuk Menghapus Elemen Duplikat Dari Array yang Tidak Disortir

Anda dapat menghapus elemen duplikat dari array yang tidak disortir dengan mengikuti pendekatan di bawah ini:

instagram viewer
  1. Inisialisasi peta hash yang akan menyimpan semua elemen unik larik.
  2. Lintasi larik.
  3. Periksa apakah elemen ada dalam array.
  4. Jika elemen ada dalam larik, teruslah melintasi.
  5. Jika elemen tidak ada dalam array, cetak elemen dan simpan di peta hash.

Catatan: Kompleksitas waktu dari solusi ini adalah O(n).

Program C++ untuk Menghapus Elemen Duplikat Dari Array yang Tidak Disortir

Di bawah ini adalah program C++ untuk menghapus elemen duplikat dari array yang tidak disortir:

// Program C++ untuk menghapus elemen duplikat dari array yang tidak disortir
#termasuk
menggunakan namespace std;
// Berfungsi untuk menghapus elemen duplikat dari array yang tidak disortir
void removeDuplicateElements (int arr[], int size)
{
unordered_map M;
untuk (int i=0; Saya{
// Cetak elemen jika tidak
// ada di peta hash
if (m.temukan (arr[i]) == m.end())
{
cout << arr[i] << " ";
}
// Sisipkan elemen di peta hash
m[arr[i]] = benar;
}
cout<}
void printArrayElements (int arr[], ukuran int)
{
untuk (int i=0; Saya{
cout << arr[i] << " ";
}
cout<}
int utama()
{
int arr1[] = {23, 35, 23, 56, 67, 35, 35, 54, 76};
int ukuran1 = ukuran(arr1)/ukuran(arr1[0]);
cout << "Array Awal: " << endl;
printArrayElements (arr1, size1);
cout << "Array setelah menghapus duplikat: " << endl;
removeDuplicateElements (arr1, size1);
int arr2[] = {5, 6, 1, 1, 7, 5, 8, 2, 7, 8};
int ukuran2 = ukuran(arr2)/ukuran(arr2[0]);
cout << "Array Awal: " << endl;
printArrayElements (arr2, size2);
cout << "Array setelah menghapus duplikat: " << endl;
removeDuplicateElements (arr2, size2);
int arr3[] = {32, 35, 33, 32, 33, 38, 32, 39};
int ukuran3 = ukuran(arr3)/ukuran(arr3[0]);
cout << "Array Awal: " << endl;
printArrayElements (arr3, size3);
cout << "Array setelah menghapus duplikat: " << endl;
removeDuplicateElements (arr3, size3);
kembali 0;
}

Keluaran:

Array Awal: 
23 35 23 56 67 35 35 54 76
Array setelah menghapus duplikat:
23 35 56 67 54 76
Array Awal:
5 6 1 1 7 5 8 2 7 8
Array setelah menghapus duplikat:
5 6 1 7 8 2
Array Awal:
32 35 33 32 33 38 32 39
Array setelah menghapus duplikat:
32 35 33 38 39

Terkait: Cara Mencetak "Halo, Dunia!" dalam Bahasa Pemrograman Paling Populer

Program Python untuk Menghapus Elemen Duplikat Dari Array yang Tidak Disortir

Di bawah ini adalah program Python untuk menghapus elemen duplikat dari array yang tidak disortir:

# Program Python untuk menghapus elemen duplikat dari daftar yang tidak disortir
def removeDuplicateElements (arr, ukuran):
m = {}
untuk saya dalam kisaran (ukuran):
# Cetak elemen jika tidak
# hadir dalam kamus
jika arr[i] tidak ada di m:
print (arr[i], akhir = " ")
# Masukkan elemen dalam kamus
m[arr[i]] = 1
mencetak()
def printListElements (arr, ukuran):
untuk saya dalam kisaran (ukuran):
cetak (arr[i], akhir=" ")
mencetak()
arr1 = [23, 35, 23, 56, 67, 35, 35, 54, 76]
ukuran1 = len (arr1)
print("Daftar Awal: ")
printListElements (arr1, ukuran1)
print("Daftar setelah menghapus duplikat: ")
removeDuplicateElements (arr1, size1)
arr2 = [5, 6, 1, 1, 7, 5, 8, 2, 7, 8]
ukuran2 = len (arr2)
print("Daftar Awal: ")
printListElements (arr2, ukuran2)
print("Daftar setelah menghapus duplikat: ")
removeDuplicateElements (arr2, size2)
arr3 = [32, 35, 33, 32, 33, 38, 32, 39]
ukuran3 = len (arr3)
print("Daftar Awal: ")
printListElements (arr3, size3)
print("Daftar setelah menghapus duplikat: ")
removeDuplicateElements (arr3, size3)

Keluaran:

Array Awal: 
23 35 23 56 67 35 35 54 76
Array setelah menghapus duplikat:
23 35 56 67 54 76
Array Awal:
5 6 1 1 7 5 8 2 7 8
Array setelah menghapus duplikat:
5 6 1 7 8 2
Array Awal:
32 35 33 32 33 38 32 39
Array setelah menghapus duplikat:
32 35 33 38 39

Program JavaScript untuk Menghapus Elemen Duplikat Dari Array yang Tidak Disortir

Di bawah ini adalah program JavaScript untuk menghapus elemen duplikat dari array yang tidak disortir:

// Program JavaScript untuk menghapus elemen duplikat dari array yang tidak disortir
// Berfungsi untuk menghapus elemen duplikat dari array yang tidak disortir
function removeDuplicateElements (arr, ukuran) {
misalkan m = Peta baru();
untuk (misalkan i = 0; saya < ukuran; saya++) {
// Cetak elemen jika tidak
// ada di peta hash
if (m.get (arr[i]) == null) {
document.write (arr[i] + " ");
}
// Sisipkan elemen di peta hash
m.set (arr[i], benar);
}
dokumen.tulis("
");
}
function printArrayElements (arr, ukuran) {
untuk (misalkan i=0; Sayadocument.write (arr[i] + " ");
}
dokumen.tulis("
");
}
misalkan arr1 = [23, 35, 23, 56, 67, 35, 35, 54, 76];
misalkan size1 = arr1.length;
document.write("Array Awal: " + "
");
printArrayElements (arr1, size1);
document.write("Array setelah menghapus duplikat: " + "
");
removeDuplicateElements (arr1, size1);
misalkan arr2 = [5, 6, 1, 1, 7, 5, 8, 2, 7, 8];
misalkan size2 = arr2.length;
document.write("Array Awal: " + "
");
printArrayElements (arr2, size2);
document.write("Array setelah menghapus duplikat: " + "
");
removeDuplicateElements (arr2, size2);
misalkan arr3 = [32, 35, 33, 32, 33, 38, 32, 39];
misalkan size3 = arr3.length;
document.write("Array Awal: " + "
");
printArrayElements (arr3, size3);
document.write("Array setelah menghapus duplikat: " + "
");
removeDuplicateElements (arr3, size3);

Keluaran:

Array Awal: 
23 35 23 56 67 35 35 54 76
Array setelah menghapus duplikat:
23 35 56 67 54 76
Array Awal:
5 6 1 1 7 5 8 2 7 8
Array setelah menghapus duplikat:
5 6 1 7 8 2
Array Awal:
32 35 33 32 33 38 32 39
Array setelah menghapus duplikat:
32 35 33 38 39

Terkait: Cara Menghitung Kemunculan Karakter yang Diberikan dalam sebuah String

Cara Menghapus Elemen Duplikat Dari Array yang Diurutkan

Pernyataan masalah

Anda diberi array bilangan bulat yang diurutkan. Anda perlu menghapus elemen duplikat dari array dan mencetak array dengan elemen unik.

Contoh 1: Misalkan arr = [1, 1, 1, 2, 4, 6, 8, 8, 9, 9]

Array setelah menghapus elemen duplikat: 1 2 4 6 8 9

Jadi, outputnya adalah 1 2 4 6 8 9.

Contoh 2: Misalkan arr = [1, 1, 2, 2, 3, 3, 4, 4, 5, 5]

Array setelah menghapus elemen duplikat: 1 2 3 4 5

Jadi, keluarannya adalah 1 2 3 4 5.

Pendekatan untuk Menghapus Elemen Duplikat Dari Array yang Diurutkan

Anda dapat menghapus elemen duplikat dari array yang diurutkan dengan mengikuti pendekatan di bawah ini:

  1. Inisialisasi variabel indeks i dan j dengan 0.
  2. Ulangi array.
  3. Jika elemen ke-i tidak sama dengan elemen ke-(i+1), maka simpan nilai ke-i di arr[j] dan tambah nilai j.
  4. Tingkatkan nilai i di setiap iterasi.
  5. Simpan nilai terakhir dari arr di arr[j].
  6. Akhirnya kembalikan ukuran array yang baru yaitu, j. Elemen unik akan disimpan dalam array dari indeks 0 hingga j-1.

Catatan: Kompleksitas waktu dari solusi ini adalah O(n).

Program C++ untuk Menghapus Elemen Duplikat Dari Array yang Diurutkan

Di bawah ini adalah program C++ untuk menghapus elemen duplikat dari array yang diurutkan:

// Program C++ untuk menghapus elemen duplikat dari array yang diurutkan
#termasuk
menggunakan namespace std;
// Berfungsi untuk menghapus elemen duplikat dari array yang diurutkan
int removeDuplicateElements (int arr[], int ukuran)
{
int j = 0;
untuk (int i = 0; saya < ukuran-1; saya++)
{
// Jika elemen ke-i tidak sama dengan elemen (i+1),
// lalu simpan nilai ke-i di arr[j]
jika (arr[i] != arr[i+1])
{
arr[j] = arr[i];
j++;
}
}
// Menyimpan nilai terakhir dari arr di arr[j]
arr[j++] = arr[ukuran-1];
kembali j;
}
void printArrayElements (int arr[], ukuran int)
{
untuk (int i=0; Saya{
cout << arr[i] << " ";
}
cout<}
int utama()
{
int arr1[] = {1, 1, 1, 2, 4, 6, 8, 8, 9, 9};
int ukuran1 = ukuran(arr1)/ukuran(arr1[0]);
cout << "Array Awal: " << endl;
printArrayElements (arr1, size1);
cout << "Array setelah menghapus duplikat: " << endl;
size1 = removeDuplicateElements (arr1, size1);
printArrayElements (arr1, size1);
int arr2[] = {1, 1, 2, 2, 3, 3, 4, 4, 5, 5};
int ukuran2 = ukuran(arr2)/ukuran(arr2[0]);
cout << "Array Awal: " << endl;
printArrayElements (arr2, size2);
cout << "Array setelah menghapus duplikat: " << endl;
size2 = removeDuplicateElements (arr2, size2);
printArrayElements (arr2, size2);
int arr3[] = {10, 12, 12, 14, 16, 16, 18, 19, 19};
int ukuran3 = ukuran(arr3)/ukuran(arr3[0]);
cout << "Array Awal: " << endl;
printArrayElements (arr3, size3);
cout << "Array setelah menghapus duplikat: " << endl;
size3 = removeDuplicateElements (arr3, size3);
printArrayElements (arr3, size3);
kembali 0;
}

Keluaran:

Array Awal: 
1 1 1 2 4 6 8 8 9 9
Array setelah menghapus duplikat:
1 2 4 6 8 9
Array Awal:
1 1 2 2 3 3 4 4 5 5
Array setelah menghapus duplikat:
1 2 3 4 5
Array Awal:
10 12 12 14 16 16 18 19 19
Array setelah menghapus duplikat:
10 12 14 16 18 19

Program Python untuk Menghapus Elemen Duplikat Dari Array yang Diurutkan

Di bawah ini adalah program Python untuk menghapus elemen duplikat dari array yang diurutkan:

# Program Python untuk menghapus elemen duplikat dari array yang diurutkan
def removeDuplicateElements (arr, ukuran):
j = 0
untuk i dalam rentang (ukuran-1):
jika arr[i] != arr[i+1]:
arr[j] = arr[i]
j = j+1
arr[j] = arr[ukuran-1]
j = j+1
kembali j
def printListElements (arr, ukuran):
untuk saya dalam kisaran (ukuran):
cetak (arr[i], akhir=" ")
mencetak()
arr1 = [1, 1, 1, 2, 4, 6, 8, 8, 9, 9]
ukuran1 = len (arr1)
print("Array Awal:")
printListElements (arr1, ukuran1)
print("Array setelah menghapus duplikat:")
size1 = removeDuplicateElements (arr1, size1)
printListElements (arr1, ukuran1)
arr2 = [1, 1, 2, 2, 3, 3, 4, 4, 5, 5]
ukuran2 = len (arr2)
print("Array Awal:")
printListElements (arr2, ukuran2)
print("Array setelah menghapus duplikat:")
size2 = removeDuplicateElements (arr2, size2)
printListElements (arr2, ukuran2)
arr3 = [10, 12, 12, 14, 16, 16, 18, 19, 19]
ukuran3 = len (arr3)
print("Array Awal:")
printListElements (arr3, size3)
print("Array setelah menghapus duplikat:")
size3 = removeDuplicateElements (arr3, size3)
printListElements (arr3, size3)

Keluaran:

Array Awal: 
1 1 1 2 4 6 8 8 9 9
Array setelah menghapus duplikat:
1 2 4 6 8 9
Array Awal:
1 1 2 2 3 3 4 4 5 5
Array setelah menghapus duplikat:
1 2 3 4 5
Array Awal:
10 12 12 14 16 16 18 19 19
Array setelah menghapus duplikat:
10 12 14 16 18 19

Terkait: Pengantar Algoritma Merge Sort

Program JavaScript untuk Menghapus Elemen Duplikat Dari Array yang Diurutkan

Di bawah ini adalah program JavaScript untuk menghapus elemen duplikat dari array yang diurutkan:

// Program JavaScript untuk menghapus elemen duplikat dari array yang diurutkan
// Berfungsi untuk menghapus elemen duplikat dari array yang diurutkan
fungsi removeDuplicateElements (arr, ukuran)
{
misalkan j = 0;
untuk (misalkan i = 0; saya < ukuran-1; saya++)
{
// Jika elemen ke-i tidak sama dengan elemen (i+1),
// lalu simpan nilai ke-i di arr[j]
jika (arr[i] != arr[i+1])
{
arr[j] = arr[i];
j++;
}
}
// Menyimpan nilai terakhir dari arr di arr[j]
arr[j++] = arr[ukuran-1];
kembali j;
}
function printArrayElements (arr, ukuran) {
untuk (misalkan i=0; Sayadocument.write (arr[i] + " ");
}
dokumen.tulis("
");
}
var arr1 = [1, 1, 1, 2, 4, 6, 8, 8, 9, 9];
var size1 = arr1.length;
document.write("Array Awal: " + "
");
printArrayElements (arr1, size1);
document.write("Array setelah menghapus duplikat: " + "
");
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("Array Awal: " + "
");
printArrayElements (arr2, size2);
document.write("Array setelah menghapus duplikat: " + "
");
size2 = removeDuplicateElements (arr2, size2);
printArrayElements (arr2, size2);
var arr3 = [10, 12, 12, 14, 16, 16, 18, 19, 19];
var size3 = arr3.length;
document.write("Array Awal: " + "
");
printArrayElements (arr3, size3);
document.write("Array setelah menghapus duplikat: " + "
");
size3 = removeDuplicateElements (arr3, size3);
printArrayElements (arr3, size3);

Keluaran:

Terkait: Cara Menemukan Karakter yang Paling Sering Muncul dalam sebuah String

Array Awal: 
1 1 1 2 4 6 8 8 9 9
Array setelah menghapus duplikat:
1 2 4 6 8 9
Array Awal:
1 1 2 2 3 3 4 4 5 5
Array setelah menghapus duplikat:
1 2 3 4 5
Array Awal:
10 12 12 14 16 16 18 19 19
Array setelah menghapus duplikat:
10 12 14 16 18 19

Latih Soal String dan Array untuk Wawancara Anda Berikutnya

Masalah string dan array adalah salah satu topik yang paling banyak ditanyakan dalam wawancara teknis.

Jika Anda ingin mempersiapkan diri sebaik mungkin, Anda harus mempraktikkan beberapa masalah yang sering ditanyakan seperti cara memeriksa apakah sebuah string adalah palindrom, bagaimana cara memeriksa apakah sebuah string adalah palindrom. anagram, menemukan karakter yang paling sering muncul dalam sebuah string, cara membalikkan array, menyortir dan mencari algoritma berdasarkan array, cara membalikkan string, dll.

Surel
Cara Membalikkan String di C++, Python, dan JavaScript

Pelajari cara membalikkan senar dari belakang ke depan dalam tiga bahasa berbeda.

Baca Selanjutnya

Topik-topik terkait
  • Pemrograman
  • JavaScript
  • Python
  • Tutorial Pengkodean
Tentang Penulis
Yuvraj Chandra (40 Artikel Diterbitkan)

Yuvraj adalah mahasiswa sarjana Ilmu Komputer di University of Delhi, India. Dia bersemangat tentang Pengembangan Web Full Stack. Ketika dia tidak menulis, dia menjelajahi kedalaman teknologi yang berbeda.

More From Yuvraj Chandra

Berlangganan newsletter kami

Bergabunglah dengan buletin kami untuk kiat teknologi, ulasan, ebook gratis, dan penawaran eksklusif!

Klik di sini untuk berlangganan