zoukankan      html  css  js  c++  java
  • leetcode 91 解码方法

    自己终于写出来了,孩子再丑也是自己的,把代码贴着,明天学习一下优秀代码

     1 class Solution {
     2 public:
     3     int numDecodings(string s) {
     4         int dp[s.size()+1];
     5         
     6         dp[0]=1;dp[1]=1;
     7         if(s=="") return 0;
     8         if(s[0]=='0') return 0;
     9         if(s.size()>=2&& s[1]=='0'&&s[0]>'2') return 0;
    10         for(int i=2;i<=s.size();i++){
    11             if(s[i-1]=='0'&&(s[i-2]>'2'||s[i-2]=='0')) return 0;
    12             if(s[i-1]=='0'){
    13                 dp[i]=dp[i-2];
    14             }else{
    15                 if(s[i-2]>'2'||(s[i-2]=='2'&&s[i-1]>'6')){
    16                     dp[i]=dp[i-1];
    17                 }else{
    18                     dp[i]=dp[i-1]+dp[i-2];
    19                     if(i>=3&&s[i-2]=='0'){
    20                         dp[i]=dp[i-1];
    21                     }
    22                 }
    23             }
    24  
    25         }
    26         return dp[s.size()];
    27     }
    28 };

     C++动态规划:

    class Solution {
    public:
        int numDecodings(string s) {
            int dp[s.size()+1];
            
            dp[0]=1;dp[1]=1;
            if(s=="") return 0;
            if(s[0]=='0') return 0;
            if(s.size()>=2&& s[1]=='0'&&s[0]>'2') return 0;
            for(int i=2;i<=s.size();i++){
                if(s[i-1]=='0'&&(s[i-2]>'2'||s[i-2]=='0')) return 0;
                if(s[i-1]=='0'){
                    dp[i]=dp[i-2];
                }else{
                    if(s[i-2]>'2'||(s[i-2]=='2'&&s[i-1]>'6')){
                        dp[i]=dp[i-1];
                    }else{
                        dp[i]=dp[i-1]+dp[i-2];
                        if(i>=3&&s[i-2]=='0'){
                            dp[i]=dp[i-1];
                        }
                    }
                }
     
            }
            return dp[s.size()];
        }
    };
  • 相关阅读:
    JavaScript 闭包(转)
    JavaScript 获取键盘扫描码
    前台网站优化方案
    设计模式之装饰者模式
    设计模式之蝇量模式
    设计模式之策略模式
    Algorithm学习之any_of
    Algorithm学习之all_of学习
    Algorithm学习之adjacent_find学习
    数据结构-表达式求值
  • 原文地址:https://www.cnblogs.com/joelwang/p/10480984.html
Copyright © 2011-2022 走看看