首頁 >web前端 >js教程 >Codewars - 找到遺失的字母

Codewars - 找到遺失的字母

Linda Hamilton
Linda Hamilton原創
2025-01-07 23:59:44936瀏覽

問候。

Codewars - Find the missing letter

我在這個系列中發布了 Codewars 挑戰和我的思考過程。我盡可能使用 JS 和 Node 18。只是為了清楚起見,我正在合理地使用它們。

對於下一個練習,我們有一個有序的升序字母數組,但中間某處缺少一個字母:
['a','b','c','d','f']
['O','Q','R','S']

首先,我們要知道字母在Unicode中都有對應的數值。因此,我們需要能夠將字母轉換為數字的函數,反之亦然。

讓我們試試一些 JS 函數,看看它們的作用:

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 ]

我們找到了第一個重要的拼圖。現在我們需要圍繞它創建一個解決方案。為此,我們可以使用一些東西來遍歷數組,尋找異常:

let counter = 0;
  while (array[counter].charCodeAt() + 1 == array[counter + 1].charCodeAt()
        && counter < array.length)
  {
    counter++;
  }

然後,我們要找出實際遺失的字母:

let letter = String.fromCharCode(array[counter].charCodeAt() + 1)

組裝所有東西:

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;
}

令人驚訝的可讀性。我覺得還好。一定有辦法優化它,但我還不知道該如何優化。

保重。喝水???.

上一頁

以上是Codewars - 找到遺失的字母的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn