可能的组合以及在 JavaScript 中转换为字母算法

javascriptweb developmentfront end technologyobject oriented programming更新于 2024/1/8 6:36:17

假设我们给出了映射 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

相关文章


有用资源