题解 | #把数字翻译成字符串#

把数字翻译成字符串

https://www.nowcoder.com/practice/046a55e6cd274cffb88fc32dba695668

解题思路
i位肯定能转换成字母,dp[i]=dp[i-1];
i-1和i (11)在满足条件count>9&&count<26的前提下,dp[i]=dp[i-2];
这两种情况都满足的话,dp[i]=dp[i-1]+dp[i-2] //类似斐波那契数列
/**
 * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
 *
 * 解码
 * @param nums string字符串 数字串
 * @return int整型
 */
function solve( nums ) {
    // write code here
    let arr = nums.split('');
    let len = arr.length;
    if(len===1&&arr[0]==='0')return 0
    let dp = Array.from({length:len+1},()=>1);
    for(let i = 1;i<len;i++){
        if(arr[i]==='0'){
            dp[i]=0;
        }
        dp[i+1] = dp[i];
        let count  = Number(arr[i-1]+arr[i]);
        if(count>9&&count<27){
            dp[i+1] =dp[i]+dp[i-1] 
        }
    }
    return dp[len]
}
module.exports = {
    solve : solve
};

全部评论

相关推荐

点赞 评论 收藏
分享
Rac000n:淘天-客户运营部-AI研发工程师,智能客服方向,暑期实习招聘,欢迎联系
点赞 评论 收藏
分享
03-03 23:12
已编辑
北京邮电大学 Java
书海为家:我来给一点点小建议,因为毕竟还在学校不像工作几年的老鸟有丰富的项目经验,面试官在面试在校生的时候更关注咱们同学的做事逻辑和思路,所以最好在简历中描述下自己做过项目的完整过程,比如需求怎么来的,你对需求的解读,你想到的解决办法,遇到困难如何找人求助,最终项目做成了什么程度,你从中收获了哪些技能,你有什么感悟。
你的简历改到第几版了
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务