可能的组合并转换成 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
广告
数据结构
网络
RDBMS
操作系统
Java
iOS
HTML
CSS
Android
Python
C 编程
C++
C#
MongoDB
MySQL
Javascript
PHP