給定乙個數字,我們按照如下規則把它翻譯為字串:0 翻譯成 「a」 ,1 翻譯成 「b」,……,11 翻譯成 「l」,……,25 翻譯成 「z」。乙個數字可能有多個翻譯。請程式設計實現乙個函式,用來計算乙個數字有多少種不同的翻譯方法。
示例 1:
輸入: 12258
輸出: 5
解釋: 12258有5種不同的翻譯,分別是"bccfi", 「bwfi」, 「bczi」, 「mcfi"和"mzi」
動態規劃問題
class
solution
:def
translatenum
(self, num:
int)
->
int:
s="" s=
str(num)
l=len(s)
dp=[0
]*lif l<2:
return
1 dp[0]
=1dp[1]
=2if s[0]
+s[1
]<
"26"
else
1for i in
range(2
,l):
dp[i]
=dp[i-1]
+dp[i-2]
if(s[i-1]
+s[i]
<
"26"
and s[i-1]
!="0"
)else d[i-1]
return dp[-1
]
Leetcode 數字序列翻譯
有一種將字母編碼成數字的方式 a 1,b 2 z 26 現在給一串數字,返回有多少種可能的解碼結果 示例1複製 12 複製 22種可能的解碼結果 ab 或 l 思路 對於乙個字元,分析其能否單獨翻譯成乙個單詞,以及能否組合翻譯成乙個單詞 特別的 對於含有0的數字,其只能夠與前面的1或2組合成 10 ...
leetcode 數字翻譯字串 多方法解析
大於10是因為 可能存在0元素,如506,只能是5 06而不能組成5 0 6 dfs class solution int tmp 0 for int i index i size i int translatenum int num reverse arr.begin arr.end int re...
LeetCode 回溯 把數字翻譯成字串
給定乙個數字,我們按照如下規則把它翻譯為字串 0 翻譯成 a 1 翻譯成 b 11 翻譯成 l 25 翻譯成 z 乙個數字可能有多個翻譯。請程式設計實現乙個函式,用來計算乙個數字有多少種不同的翻譯方法。示例 輸入 12258 輸出 5 解釋 12258有5種不同的翻譯,分別是 bccfi bwfi ...