Rumah >hujung hadapan web >tutorial js >Bagaimanakah Saya Boleh Mencari Nilai Pendua dengan Cekap dalam Tatasusunan JavaScript?
Mencari Nilai Bukan Unik dalam Tatasusunan
Mengenal pasti nilai pendua dalam tatasusunan JavaScript ialah tugas biasa. Walaupun melelaran melalui tatasusunan dan membandingkan setiap elemen dengan yang lain mungkin kelihatan seperti pendekatan yang mudah, ia boleh menjadi tidak cekap, terutamanya untuk tatasusunan yang besar.
Satu penyelesaian yang dioptimumkan melibatkan mengisih tatasusunan terlebih dahulu. Langkah ini mengurangkan kerumitan daripada O(n^2) kepada kurang daripada O(n^2) dengan mengumpulkan elemen yang serupa bersama-sama.
Setelah tatasusunan diisih, anda boleh mengulanginya dan menyemak sama ada elemen semasa sepadan dengan elemen seterusnya atau sebelumnya. Jika ia adalah sama, nilai tersebut dianggap sebagai pendua dan boleh ditambahkan pada senarai hasil.
const findDuplicates = (arr) => { let sorted_arr = arr.slice().sort(); let results = []; for (let i = 0; i < sorted_arr.length - 1; i++) { if (sorted_arr[i + 1] == sorted_arr[i]) { results.push(sorted_arr[i]); } } return results; };
Sebagai contoh, diberikan tatasusunan seperti [9, 9, 111, 2, 3, 4, 4, 5, 7], pendekatan ini akan mengenal pasti dan mengembalikan nilai pendua dengan cekap: [9, 4].
Dengan memanfaatkan pengisihan dan membandingkan elemen bersebelahan, penyelesaian ini menawarkan kaedah yang cekap masa untuk mencari nilai bukan unik dalam tatasusunan.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mencari Nilai Pendua dengan Cekap dalam Tatasusunan JavaScript?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!