我的js算法爬坑之旅- 把数字翻译成字符串

201 阅读1分钟

第九十六天:剑指offer 46题,把数字翻译成字符串

地址:leetcode-cn.com/problems/ba…

思路:动态规划

var translateNum = function(num) {
  if (num == 0) return 1;
    let str = num.toString();
    const length = str.length;
    let dp = new Array(length).fill(0);
    dp[0] = 1;
    for(let i = 1; i < length; i++){
        let temp = Number(str[i-1] + str[i]);
        if (10 <= temp && temp <= 25){
            if (i > 1)
                dp[i] = dp[i-1] + dp[i-2];
            else 
                dp[i] = 1 + dp[i-1];
        }else {
            dp[i] = dp[i-1];
        }
    }
    return dp.pop();
};

执行用时:80 ms, 在所有 JavaScript 提交中击败了71.61%的用户

内存消耗:38.1 MB, 在所有 JavaScript 提交中击败了16.56%的用户