[动态规划] leetcode 91 Decode Ways

problem:https://leetcode.com/problems/decode-ways

        一道比较经典的爬楼梯类型的dp。

class Solution {
public:
    int numDecodings(string s) {
        vector<int> dp(s.size(),0);
        dp[0] = s[0] != '0';
        for(int i = 1;i < s.size();i++)
        {
            if(s[i] != '0')
            {
                dp[i] = dp[i-1];
            }
            if(s[i-1] =='1' ||( s[i-1] =='2' && s[i] <='6'))
            {
                dp[i] += i >= 2 ? dp[i-2] : 1;
            }
        }
        return dp[s.size()-1];
    }
};

 

posted @ 2019-08-07 16:01  fish1996  阅读(134)  评论(0)    收藏  举报