本文主要是介绍把数字翻译成字符串——python,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
有一种将字母编码成数字的方式:'a'->1, 'b->2', ... , 'z->26'。
我们把一个字符串编码成一串数字,再考虑逆向编译成字符串。
由于没有分隔符,数字编码成字母可能有多种编译结果,例如 11 既可以看做是两个 'a' 也可以看做是一个 'k' 。但 10 只可能是 'j' ,因为 0 不能编译成任何结果。
现在给一串数字,返回有多少种可能的译码结果
在动态规划中,用dp[i]=dp[i-1]+dp[i-2]来解决两个编码分支的问题,判别条件则是数字范围是否在11到26之间。
def solve(nums ):if nums=="0":return 0;if nums=="10" or nums=="20":return 1if nums[0]=="0":return 0for i in range(1,len(nums)):if nums[i]=="0" and (nums[i-1]!="1" and nums[i-1]!="2"):return 0dp=[1 for _ in range(len(nums)+1)]for i in range(2,len(nums)+1):if (nums[i-2]=="1" and nums[i-1]!="0") or \(nums[i-2]=="2" and (nums[i-1]>"0" and nums[i-1]<"7")):dp[i]=dp[i-1]+dp[i-2]else:dp[i]=dp[i-1]return dp[len(nums)]
这篇关于把数字翻译成字符串——python的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!