三个月算法进阶--day74
目录
记录
leetcode剑指offer第46题把数字翻译成字符串
动态规划
class Solution:
def translateNum(self, num: int) -> int:
a = b = 1
y = num % 10
while num != 0:
num //= 10
x = num % 10
a, b = (a + b if 10 <= 10 * x + y <= 25 else a), a
y = x
return a
dfs
class Solution:
def translateNum(self, num: int) -> int:
def dfs(strs):
if len(strs) <= 1:
self.ans += 1
return
dfs(strs[1:])
if strs[0] != "0" and int(strs[:2]) <= 25:
dfs(strs[2:])
self.ans = 0
dfs(str(num))
return self.ans