フィボナッチ数列

91復号化方法

含む文字  A-Z 以下のように符号化されたメッセージを:

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

空でない文字列が数字だけを含む与えられ、復号方法の合計数を計算します。

例1:

入力: "12" 
出力:2 
説明:それは"AB"(1 2)または"L"(12)のように復号することができます。

例2:

入力: "226" 
出力:3の
説明:それは"BZ"として復号することができる(2 26)、 "VF"(22 6)、 または"BBF"(2 2 6) 。
パブリック クラスT91 {の
     公共 int型numDecodings(文字列S){
         IF(s.charAt(0)== '0' ){
             戻り 0 ; 
        } 
        int型 [] DP = 新しい新しい INT [s.length()+ 1 ]; 
        DP [ 0] = 1 ; 
        DP [。1] = 1 ;
         のためのINT ; I <= s.length(); I = 2 I ++ ){
             // 0に等しい場合、この決意をスキップ
            IF(s.charAt(I - 1)= '0'!){ 
                DP [I] + DP = [I - 1 ]; 
            }
            もし(1)<= '6' - 2)== '1' ||(s.charAt(I - - 2)== '2')&& s.charAt(I s.charAt(I ){ 
                [DP I] + = DP [I - 2 ]。
            } 
        } 
        戻りDP [s.length()]。

    } 
}

 

おすすめ

転載: www.cnblogs.com/zzytxl/p/12528888.html