leetcode 把數字翻譯成字串(動態規劃)

2021-10-07 00:01:25 字數 607 閱讀 2558

給定乙個數字,我們按照如下規則把它翻譯為字串:0 翻譯成 「a」 ,1 翻譯成 「b」,……,11 翻譯成 「l」,……,25 翻譯成 「z」。乙個數字可能有多個翻譯。請程式設計實現乙個函式,用來計算乙個數字有多少種不同的翻譯方法。

動態規劃可以模擬這道題,節省空間還借用了這道題的思想

class solution:

def translatenum(self, num: int) -> int:

quotient, remainder = divmod(num,10)

# a,b,分別存放上一位結果,上上一位結果,當前結果

a,b,c = 1,1,1

while(quotient != 0):

last = remainder

quotient, remainder = divmod(quotient, 10)

if last + remainder * 10 <= 25 and last + remainder * 10 >= 10:

c = a + b

else:

c = a

a, b = c, a

return c

leetcode 面試題46把數字翻譯成字串

解題思路 動態規劃,1 得到num的每一位數字,從低位到高位用nums儲存 2 從低位到高位依次求解,狀態轉移方程如下 d p i dp i 1 dp i 2 10 leq nums i 10 nums i 1 26 dp i 1 others end right.dp i dp i 1 dp i ...

leetcode面試題46把數字翻譯成字串

題目描述 給定乙個數字,我們按照如下規則把它翻譯為字串 0 翻譯成 a 1 翻譯成 b 11 翻譯成 l 25 翻譯成 z 乙個數字可能有多個翻譯。請程式設計實現乙個函式,用來計算乙個數字有多少種不同的翻譯方法。示例 1 輸入 12258 輸出 5 解釋 12258有5種不同的翻譯,分別是 bccf...

leetcode 面試題46 把數字翻譯成字串

題目鏈結 給定乙個數字,我們按照如下規則把它翻譯為字串 0 翻譯成 a 1 翻譯成 b 11 翻譯成 l 25 翻譯成 z 乙個數字可能有多個翻譯。請程式設計實現乙個函式,用來計算乙個數字有多少種不同的翻譯方法。class solution vector int nums while num int...