zoukankan      html  css  js  c++  java
  • 91. Decode Ways

    A message containing letters from A-Z is being encoded to numbers using the following mapping:

    'A' -> 1
    'B' -> 2
    ...
    'Z' -> 26
    

    Given a non-empty string containing only digits, determine the total number of ways to decode it.

    Example 1:

    Input: "12"
    Output: 2
    Explanation: It could be decoded as "AB" (1 2) or "L" (12).
    

    Example 2:

    Input: "226"
    Output: 3
    Explanation: It could be decoded as "BZ" (2 26), "VF" (22 6), or "BBF" (2 2 6).

    class Solution {
    public:
        int numDecodings(string s) {
            int n=s.size();
            vector<int> dp(n+1);
            dp[0]=1;
            dp[1]='0'==s[0]?0:1;
            for(int i=2;i<=s.size();++i)
            {
                int first=s[i-1]-'0';
                int second=(s[i-2]-'0')*10+first;
                if(first>=1&&first<=9)dp[i]=dp[i-1];
                if(second>=10&&second<=26) dp[i]+=dp[i-2];
            }
            return dp[n];
        }
    };
  • 相关阅读:
    mysql
    mysql
    mysql
    mysql
    sed编辑命令
    awk正则应用
    awk运算符
    awk命令细节
    uniq命令
    sort命令
  • 原文地址:https://www.cnblogs.com/lychnis/p/11729234.html
Copyright © 2011-2022 走看看