一、题目地址
https://leetcode-cn.com/problems/ba-shu-zi-fan-yi-cheng-zi-fu-chuan-lcof/
二、具体代码
/**
* @param {number} num
* @return {number}
*/
// 动态规划
// 时间复杂度:O(n)
// 空间复杂度:O(n)
var translateNum = function(num) {
let numStr = String(num);
let a = 1, b = 1;
for(let i=2; i<=numStr.length; i++) {
let tmp = parseInt(numStr.substring(i-2, i));
let c = tmp >= 10 && tmp <= 25 ? a + b : a;
b = a;
a = c;
}
return a;
};
let res = translateNum(12258);
console.log(res);
/**
* @param {number} num
* @return {number}
*/
// 动态规划
// 时间复杂度:O(n)
// 空间复杂度:O(1)
var translateNum = function(num) {
let a = 1, b = 1, x, y = num % 10;
while(num !== 0) {
num = Math.trunc(num / 10);
x = num % 10;
let tmp = 10 * x + y;
let c = tmp >= 10 && tmp <= 25 ? a + b : a;
b = a;
a = c;
y = x;
}
return a;
};
let res = translateNum(12258);
console.log(res);
三、 补充链接
四、补充部分
关注公众号:【深漂程序员小庄】:
内含丰富的学习资源和面试经验(不限前端、java),还有学习交流群可加,并且还有各大厂大佬可一起交流学习,一起进步~添加小庄微信,回复【加群】,可加入互联网技术交流群: