把数字翻译成字符串

给定一个数字,按照0 ~ 25为 a ~ z,一个数字可能有多个翻译,请编程实现一个函数,用来计算一个数字共有多少种不同的翻译方法。

分析:动态规划

class Solution
{
    public:
    int translateNum(int num)
    {
       string str=to_string(num);
       vector<int> dp(str.size()+1);
       dp[0]=1;
       dp[1]=1;
       
       for(size_t i=2;i<dp.size();i++)
       {
           dp[i]=dp[i-1];  
  
           auto num=stoi(str.substr(i-2,2));
           if(num>=10 && num<=25)
           {
               dp+=dp[i-2];
           }           
       }
       return dp.back();
    }
};
发布了75 篇原创文章 · 获赞 1 · 访问量 1374
展开阅读全文

没有更多推荐了,返回首页

©️2019 CSDN 皮肤主题: 大白 设计师: CSDN官方博客

分享到微信朋友圈

×

扫一扫,手机浏览