Rumah >hujung hadapan web >tutorial js >Codewars - Cari huruf yang hilang
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.
Untuk latihan seterusnya ini, kami mempunyai susunan huruf menaik yang tersusun, tetapi di suatu tempat di tengah-tengah tiada satu huruf:
['a','b','c','d','f']
['O','Q','R','S']
Pertama, kita perlu tahu bahawa huruf mempunyai nilai berangka yang sepadan dalam Unicode. Oleh itu, kita memerlukan fungsi yang mampu mengubah huruf kepada nombor dan sebaliknya.
Mari cuba beberapa fungsi JS untuk melihat apa yang mereka lakukan:
function findMissingLetter(array) { return [array[3].charCodeAt(),array[4].charCodeAt()]; } // the array is ['a','b','c','d','f'] // it expects 'e' // this function returns [ 100, 102 ]
Kami mempunyai kepingan teka-teki penting pertama kami. Sekarang kita perlu mencipta penyelesaian di sekelilingnya. Untuk berbuat demikian, kita boleh menggunakan sesuatu untuk melintasi tatasusunan, mencari anomali:
let counter = 0; while (array[counter].charCodeAt() + 1 == array[counter + 1].charCodeAt() && counter < array.length) { counter++; }
Kemudian, kita perlu mencari huruf sebenar yang hilang:
let letter = String.fromCharCode(array[counter].charCodeAt() + 1)
Kumpulkan semuanya:
function findMissingLetter(array) { let counter = 0; while (array[counter].charCodeAt() + 1 == array[counter + 1].charCodeAt() && counter < array.length) { counter++; } let letter = String.fromCharCode(array[counter].charCodeAt() + 1) return letter; }
Sangat mengejutkan boleh dibaca. Saya rasa tidak mengapa. Mesti ada cara untuk mengoptimumkannya, tetapi saya belum tahu caranya.
Jaga diri. Minum air ???.
Sebelumnya
Atas ialah kandungan terperinci Codewars - Cari huruf yang hilang. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!