题解 | #把数字翻译成字符串#

把数字翻译成字符串

https://www.nowcoder.com/practice/046a55e6cd274cffb88fc32dba695668

#
# 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
#
# 解码
# @param nums string字符串 数字串
# @return int整型
#
class Solution:
    def solve(self , nums: str) -> int:
        # write code 
        n = len(nums)
        dp = [0]*(n+1)
        # 空字符串有一种解码方式
        dp[0] = 1
        for i in range(1,n+1):
            # 解码倒数第一位,要求不是0
            if nums[i-1] != '0':
                dp[i] += dp[i-1]
            # 解码倒数两位,要求首先字符串长度大于等于2,且倒数第二位不是0,且最后两位的数符合条件
            if i-2>=0 and nums[i-2]!='0' and 1<=int(nums[i-2])*10 + int(nums[i-1])<=26 :
                dp[i] += dp[i-2]
        return dp[n]

全部评论

相关推荐

11-08 13:58
门头沟学院 Java
程序员小白条:竟然是蓝桥杯人才doge,还要花钱申领的offer,这么好的公司哪里去找
点赞 评论 收藏
分享
点赞 收藏 评论
分享
牛客网
牛客企业服务