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

把数字翻译成字符串

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

import java.util.*;


public class Solution {
    /**
     * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
     *
     * 解码
     * @param nums string字符串 数字串
     * @return int整型
     */
    public int solve (String nums) {
        // write code here
        int len = nums.length();
        int[] dp = new int[len+1];
        if ((int) nums.charAt(0) - '0' != 0) {
            dp[1] = 1;
        }
        for (int i = 1; i < len; i++) {
            int pre = (int) nums.charAt(i - 1) - '0';
            int tmp = (int) nums.charAt(i) - '0';
            if(tmp!=0){
                dp[i+1] = dp[i];
            }
            if ((pre == 2 && tmp < 7) || pre == 1) {
                dp[i+1] += dp[i-1];
                if(i==1){
                    dp[i+1] += 1;
                }
            } else {
                if (tmp == 0) {
                    return 0;
                }
            }

        }
        return dp[len];
    }
}

全部评论

相关推荐

05-07 19:10
已编辑
中国科学技术大学 C++
silly01:现在先去 momenta,8-9月去鹅找日常实习,八股文算法背好了你这随便进。不过建议补充一下后端知识,MySQL、Redis看下八股,再补个6824,加点go后台的技术栈,9月随便进大厂。CPP后端只能来WXG
点赞 评论 收藏
分享
后来123321:别着急,我学院本大二,投了1100份,两个面试,其中一个还是我去线下招聘会投的简历,有时候这东西也得看运气
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务