码迷,mamicode.com
首页 > 其他好文 > 详细

Decode Ways (待做)

时间:2015-06-28 16:56:34      阅读:91      评论:0      收藏:0      [点我收藏+]

标签:

这题使用动态规划来做,但是刚开始的时候一直超时,我以为是其他地方的原因,但是怎么改都有问题(代码如下)后来,我发现我这样做压根就不是动态规划啊,就是普通的递归,怪不得会超时·················动态规划与普通的递归的区别就是在于不要重复计算啊!!!!!

class Solution {
public:
    int numDecodings(string s) {
        int len=s.size();
        if(len==0||s[0]==0)
            return 0;
        int num;
        int res;
        if(len==1)
            num =s[0]-0;
        else if(len==2)
            num=10*(s[0]-0)+s[1]-0;
        if(num==0)
            return 0;
        else if(num<=10)
            return 1;
        else if(num>10&&num<=26)
            return 2;
        else if(num>26&&num<=99)
            return 1;
        res=max(numDecodings(s.substr(0,1))+numDecodings(s.substr(1,len)),
                numDecodings(s.substr(0,2))+numDecodings(s.substr(2,len)));
        return res;
    }
};

 

http://blog.csdn.net/worldwindjp/article/details/19938131

Decode Ways (待做)

标签:

原文地址:http://www.cnblogs.com/qiaozhoulin/p/4605732.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!