leetcode刷題 91解碼方法

2022-07-26 15:18:10 字數 789 閱讀 9314

一條包含字母 a-z 的訊息通過以下方式進行了編碼:

'a' -> 1

'b' -> 2

...'z' -> 26

給定乙個只包含數字的非空字串,請計算解碼方法的總數。

示例 1:

輸入: "12"

輸出: 2

解釋: 它可以解碼為 "ab"(1 2)或者 "l"(12)。

這道題和70題爬樓梯非常類似,需要使用動態規劃的方法

class

solution:

def numdecodings(self, s: str) ->int:

l =len(s)

if l==0: return

0 num = [0 for i in

range(l)]

num[0] = 1 if s[0]!='0'

else

0

if l > 1:

num[1] = 1 if s[0:2]>='10'

and s[0:2]<='26'

else

0

for i in range(1,l):

if s[i] != '0'

: num[i] += num[i-1]

if s[i-1:i+1]>='10'

and s[i-1:i+1]<='26'

and i>=2:

num[i] += num[i-2]

return num[-1]

leetcode刷題python之解碼方法

題目 一條包含字母 a z 的訊息通過以下方式進行了編碼 a 1 b 2 z 26 給定乙個只包含數字的非空字串,請計算解碼方法的總數。示例 1 輸入 12 輸出 2 解釋 它可以解碼為 ab 1 2 或者 l 12 思路 使用動態規劃,當前位置的可能性dp i 取決於dp i 1 和dp i 2 ...

LeetCode第91題(解碼方法)

一條包含字母 a z 的訊息通過以下方式進行了編碼 a 1 b 2 z 26 給定乙個只包含數字的非空字串,請計算解碼方法的總數。示例 1 輸入 12 輸出 2 解釋 它可以解碼為 ab 1 2 或者 l 12 示例 2 輸入 226 輸出 3 解釋 它可以解碼為 bz 2 26 vf 22 6 或...

leetcode 91題 解碼方法(動態規劃)

一條包含字母 a z 的訊息通過以下方式進行了編碼 a 1 b 2 z 26 給定乙個只包含數字的非空字串,請計算解碼方法的總數。示例 1 輸入 12 輸出 2 解釋 它可以解碼為 ab 1 2 或者 l 12 示例 2 輸入 226 輸出 3 解釋 它可以解碼為 bz 2 26 vf 22 6 或...