0
点赞
收藏
分享

微信扫一扫

力扣 剑指 Offer 46. 把数字翻译成字符串

在这里插入图片描述
一眼动态规划,爬台阶
只不过是否能爬两步需要额外判断是否在(9,26)的区间范围内

class Solution {
    public int translateNum(int num) {
        String s = String.valueOf(num);
        int[] dp = new int[33];
        dp[0] = 1;
        dp[1] = 1;
        for(int i = 2; i <= s.length(); i++){
            dp[i] += dp[i - 1];
            int t = Integer.parseInt(s.substring(i - 2,i));
            if(t < 26 && t > 9)
                dp[i] += dp[i - 2];
        }
        return dp[s.length()];
    }
}
举报

相关推荐

0 条评论