zoukankan      html  css  js  c++  java
  • 剑指 Offer 46. 把数字翻译成字符串

    给定一个数字,我们按照如下规则把它翻译为字符串:0 翻译成 “a” ,1 翻译成 “b”,……,11 翻译成 “l”,……,25 翻译成 “z”。一个数字可能有多个翻译。请编程实现一个函数,用来计算一个数字有多少种不同的翻译方法。

    示例 1:

    输入: 12258
    输出: 5
    解释: 12258有5种不同的翻译,分别是"bccfi", "bwfi", "bczi", "mcfi"和"mzi"

    提示:

    • 0 <= num < 231
    • dp[i]=dp[i-2] + dp[i-1] satisfies the combined translation range [10, 25]
    • dp[i]=dp[i-1] only translate itself
    class Solution {
        public int translateNum(int num) {
            String s=String.valueOf(num);
            int[] dp=new int[s.length()+1];
            dp[0]=1;
            dp[1]=1;
            for(int i=2;i<=s.length();i++){
                String tmp=s.substring(i-2,i);
                if(Integer.parseInt(tmp)>=10&&Integer.parseInt(tmp)<=25){
                    dp[i]=dp[i-1]+dp[i-2];
                }else{
                    dp[i]=dp[i-1];
                }
            }
            return dp[s.length()];
        }
    }

  • 相关阅读:
    vs 加入插件
    vs用法
    axios和vue用$refs属性获取dom
    错误演示
    vue表单的用法

    工作
    工作日报
    主机与虚拟机链接
    login
  • 原文地址:https://www.cnblogs.com/xxxsans/p/14238668.html
Copyright © 2011-2022 走看看