現有一串神秘的密文?ciphertext
,經調查,密文的特點和規則如下:
- 密文由非負整數組成
- 數字 0-25 分別對應字母 a-z
請根據上述規則將密文?ciphertext
?解密為字母,并返回共有多少種解密結果。
LCR 165. 解密數字 - 力扣(LeetCode)?
?動態規劃
class Solution {public int crackNumber(int ciphertext) {if(ciphertext <= 9){return 1;}if(ciphertext >= 10 && ciphertext <= 25 ){return 2;}char[] c = String.valueOf(ciphertext).toCharArray();int[] dp = new int[c.length + 1];dp[0] = 1;dp[1] = 1;for(int i = 2; i <= c.length; i++ ){int temp = 10*(c[i - 2] - '0') + (c[i - 1] - '0');if(temp >= 10 && temp <= 25){dp[i] = dp[i - 1] + dp[i - 2];} else {dp[i] = dp[i - 1];}}return dp[c.length];}
}