首页 > 试题广场 >

解密

[编程题]解密
  • 热度指数:22010 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 32M,其他语言64M
  • 算法知识视频讲解
一条仅包含字母‘A’-‘Z’的消息用下列的方式加密成数字
'A' -> 1
'B' -> 2
...
'Z' -> 26
现在给出加密成数字的密文,请判断有多少种解密的方法
例如:
给出的密文为“13”,可以解密为"AC"(1 3) 或者"M"(13).
所以密文"13"的解密方法是2种.
示例1

输入

"1"

输出

1
示例2

输入

"13"

输出

2
头像 you_config
发表于 2025-04-29 01:47:08
class Solution: def numDecodings(self , s ): # write code here if s == '' or s[0] == '0': return 0 dp = [1]*(l 展开全文
头像 华科不平凡
发表于 2020-08-11 11:13:19
这个动态规划有点难,因为f(i)不仅与f(i-1)有关,和f(i-2)也有关系,能想明白这一层关系着实不容易0.0 设当前的解法有f(i)种,由于s[i]和s[i - 1]的搭配方式有多种,下面分情况讨论: 非法的情况,即不论怎么搭配都decode不了,返回0 合法的情况,如果只能搭配成一种,那么 展开全文

问题信息

难度:
66条回答 19410浏览

热门推荐

通过挑战的用户

查看代码
解密