leetcode 數字翻譯

2021-10-06 23:59:21 字數 819 閱讀 1170

給定乙個數字,我們按照如下規則把它翻譯為字串: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 ...