题目描述:‘1-26’对应着‘A-Z’,输入一串数字,输出最多有多少种解码方式。
参考C++代码:https://blog.youkuaiyun.com/LaoJiu_/article/details/50887487,编写的python版本。
while True:
N_str = input()
if N_str=='quit':
break
else:
n = len(N_str)
max_len = [0]*(n+1)
max_len[0] = 1
max_len[1] = 1
#max_len[i+1]即为到包括i这一位的字符串最大的编码方式
if n>1:
for i in range(n):
if N_str[i]=='0':
max_len[i+1] = max_len[i-1]
elif int(N_str[i])<=6:
if N_str[i-1]=='1' or N_str[i-1]=='2':
max_len[i+1]=max_len[i]
max_len[i+1]+=max_len[i-1]
else: