Salam.
Saya menyiarkan cabaran Codewars dan proses pemikiran saya dalam siri ini. Saya menggunakan JS dan Node 18 apabila boleh. Hanya demi kejelasan, saya menggunakan mereka secara adil.
"Padamkan kejadian unsur jika ia berlaku lebih daripada n kali". Pada dasarnya, potong bahagian di tengah tatasusunan, tanpa mengubah susunan.
function deleteNth(arr,n){ let counter = {"top": n , "undef": 0}; for (let i = 0 ; i < arr.length ; i++ ){ (counter[arr[i]]) ? null : counter[arr[i]] = 0; if (counter[arr[i]] < n){ counter[arr[i]]++; } else { arr[i] = undefined; counter.undef++; } } arr.sort((a,b) => 0); for (let i = 0 ; i < counter.undef ; i++){ arr.pop(); } return arr; }
Ia... berkesan. Perlu pemfaktoran semula kerana ia jelas tidak mengikut mana-mana amalan yang baik, tetapi saya akan meneruskan cabaran seterusnya.
Jaga diri. Minum air ???.
Sebelumnya
Atas ialah kandungan terperinci Codewars - Padamkan kejadian unsur jika ia berlaku lebih daripada n kali. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!