Saya menemukan pertanyaan wawancara ini dan saya ingin menemukan solusinya dalam JavaScript (bukan Java atau C++):
Menerapkan struktur data seperti kumpulan yang mendukung Sisipkan, Hapus, dan GetRandomElement secara efisien. Contoh: Jika Anda memasukkan elemen 1, 3, 6, 8 dan menghapus 6, strukturnya harus berisi [1, 3, 8]. Sekarang, GetRandom harus mengembalikan salah satu dari 1, 3 atau 8 dengan probabilitas yang sama.
Ini dijawab di Java di sini: Struktur data: menyisipkan, menghapus, memuat, mendapatkan elemen acak, semuanya di O(1) Namun, ia tidak menawarkan kode contoh. Saya seorang pemula dan baru belajar cara menggunakan tabel hash jadi jika Anda dapat memberikan penjelasan tentang kodenya, saya akan sangat menghargainya!