Rumah >hujung hadapan web >tutorial js >Codewars - Cari huruf yang hilang

Codewars - Cari huruf yang hilang

Linda Hamilton
Linda Hamiltonasal
2025-01-07 23:59:44936semak imbas

Salam.

Codewars - Find the missing letter

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!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn