DP注意判断即可
class Solution(object):
def numDecodings(self, s):
"""
:type s: str
:rtype: int
"""
ls = len(s)
if ls==0:
return 0
else:
if s[0] == '0':
return 0
dp=[0]*(ls+1)
dp[0]=1
dp[1]=1
for i in range(1,ls):
if s[i]=='0':
if s[i-1]!='1' and s[i-1]!='2':
return 0
else:
dp[i+1]=dp[i-1]
else:
if 10<int(s[i-1:i+1])<=26:
dp[i+1]=dp[i]+dp[i-1]
else:
dp[i+1]=dp[i]
return dp[ls]

本文深入探讨了使用动态规划(DP)算法解决字符串解码问题的方法。通过详细的代码实现,展示了如何判断并计算给定字符串的有效解码方式数量。特别关注于处理特殊字符组合的情况,如'0'的出现及其对解码的影响。
317

被折叠的 条评论
为什么被折叠?



