可能的組合並轉換成 JavaScript 中的字母演算法


假設我們給定對映 a = 1, b = 2, ... z = 26,以及一條編碼訊息。我們要求編寫一個 JavaScript 函式來接受訊息。

該函式應該計算出可以解碼它的方法數。

例如,訊息“111”將給出 3,因為它可以解碼為“aaa”、“ka”和“ak”。

示例

程式碼如下 −

const waysToProcess = ( message, ways = 0 ) => {
   if ( message.length ) {
      ways = waysToProcess( message.slice( 1 ,message.length), ways );
      const numCurr = parseInt( message[0] );
      const numNext = "undefined" === typeof message[1] ? null :
      parseInt(message[1]);
      if ( numCurr && numNext
         && numCurr < 3
         && ( numCurr + numNext ) < 27
      ) {
         ways = waysToProcess( message.slice( 2 ,message.length), ways );
      }
   } else {
      ways++;
   }
   return ways;
}
console.log(waysToProcess('111'));

輸出

而控制檯中的輸出將是 −

3

更新時間:23-11-2020

177 次檢視

開啟你的 職業

完成課程獲得認證

開始
廣告
© . All rights reserved.