LCR 165. 解密数字
现有一串神秘的密文 ciphertext,经调查,密文的特点和规则如下:
密文由非负整数组成
数字 0-25 分别对应字母 a-z
请根据上述规则将密文 ciphertext 解密为字母,并返回共有多少种解密结果。
示例 1:
**输入:**ciphertext = 216612
**输出:**6
**解释:**216612 解密后有 6 种不同的形式,分别是 “cbggbc”,“vggbc”,“vggm”,“cbggm”,“cqgbc” 和 “cqgm”
提示:
0 <= ciphertext < 2^(31)
当你面对 216612 时,会发现:
想要知道整个序列有多少种解法,取决于你如何处理最后一位(或两位)数字。
如果你把最后的 2 单独解密,那么剩下的问题就是 21661 的解法数。
如果你把最后的 12 合并解密,那么剩下的问题就是 2166 的解法数。
很容易想到动态规划,用dp[i]表示前i位的解密结果
有dp[i] = dp[i-1] + dp[i-2],(i与i-1位在10-26之间时加dp[i-2])
1 | class Solution { |
All articles in this blog are licensed under CC BY-NC-SA 4.0 unless stating additionally.




