leetcode 數字翻譯字串 多方法解析

2021-10-04 19:45:18 字數 1171 閱讀 8130

大於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 res=0;

backtrack

(arr,

0,res)

;return res;}}

;

我們首先定義狀態變數,這種一維的問題,很容易直接定義dp[i]表示前i個數字可以組成的字串,然後求dp[i+1]可以表示的字串

狀態轉移方程:

我們首先分析一下,dp[i]和幾個狀態有關

相當於跳台階,加了乙個限制

動規

class

solution

reverse

(arr.

begin()

,arr.

end())

; vector<

int>

dp(arr.

size()

+1,0

);dp[0]

=1,dp[1]

=1;for

(int i=

2;i<=arr.

size()

;i++)}

return dp[arr.

size()

];}}

;

LeetCode 回溯 把數字翻譯成字串

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

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

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

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

給定乙個數字,我們按照如下規則把它翻譯為字串 0 翻譯成 a 1 翻譯成 b 11 翻譯成 l 25 翻譯成 z 乙個數字可能有多個翻譯。請程式設計實現乙個函式,用來計算乙個數字有多少種不同的翻譯方法。動態規劃可以模擬這道題,節省空間還借用了這道題的思想 class solution def tra...