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:
- Inisialisasi peta hash yang akan menyimpan semua elemen unik larik.
- Lintasi larik.
- Periksa apakah elemen ada dalam array.
- Jika elemen ada dalam larik, teruslah melintasi.
- 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:
- Inisialisasi variabel indeks i dan j dengan 0.
- Ulangi array.
- Jika elemen ke-i tidak sama dengan elemen ke-(i+1), maka simpan nilai ke-i di arr[j] dan tambah nilai j.
- Tingkatkan nilai i di setiap iterasi.
- Simpan nilai terakhir dari arr di arr[j].
- 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.
Pelajari cara membalikkan senar dari belakang ke depan dalam tiga bahasa berbeda.
Baca Selanjutnya
- Pemrograman
- JavaScript
- Python
- Tutorial Pengkodean
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.
Berlangganan newsletter kami
Bergabunglah dengan buletin kami untuk kiat teknologi, ulasan, ebook gratis, dan penawaran eksklusif!
Klik di sini untuk berlangganan