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

把数字翻译成字符串

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

/**
 * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
 *
 * 解码
 * @param nums string字符串 数字串
 * @return int整型
 */
export function solve(nums: string): number {
    // 状态转移方程:dp[i] = dp[i - 1] + dp[i - 2],需要分情况
    if(nums === '0')return 0
    if(nums === '10' || nums === '20')return 1
    //当0前面不是1或者不是2时,不能编译
    for(let i = 1;i < nums.length;i++){
        if(nums[i] === '0'){
            if(nums[i-1] !== '1' && nums[i-1] !== '2')return 0
        }
    }
    //进行初始化dp
    const dp = new Array(nums.length  +1).fill(1)
    console.log(dp)
    //遍历
    for(let i = 2;i <= nums.length;i++){
        if(nums[i-2] === '1'&&nums[i-1] !== '0' || nums[i-2] === '2'&&nums[i-1] >'0'&&nums[i-1] < '7'){
            dp[i] = dp[i-1] + dp[i-2]
        }else{
            dp[i] = dp[i-1]
        }
    }
    return dp[nums.length]
}

全部评论

相关推荐

07-10 14:08
已编辑
江西农业大学 Java
拒绝无效加班的小学生...:期望3k吗?java这辈子有了
点赞 评论 收藏
分享
07-20 12:08
已编辑
江南大学 图像识别
机械牛马勇闯秋招:把校园经历里面做过的项目,大作业,课设,毕设啥的,扩写,写成具体的项目经历,自我评价缩写别占篇幅,不然这简历真没东西,初筛都过不了
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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