没有合适的资源?快使用搜索试试~ 我知道了~
LeetCode刷题笔记——91. 解码方法
0 下载量 32 浏览量
2020-12-21
22:51:27
上传
评论
收藏 45KB PDF 举报
温馨提示
试读
1页
难度:中等 一、题目描述: 二、解题分析: 1、解析 这一题比《剑指Offer》刷题笔记——面试题46. 把数字翻译成字符串麻烦了些,因为这里,0是不能翻的。 2、代码实现 class Solution: def numDecodings(self, s: str) -> int: dp = [0] * len(s) # 考虑第一个字母 if s[0] == "0": return 0 else: dp[0] = 1 if len(s) == 1: re
资源详情
资源评论
资源推荐
LeetCode刷题笔记刷题笔记——91. 解码方法解码方法
难度:中等
一、题目描述:一、题目描述:
二、解题分析:二、解题分析:
1、解析、解析
这一题比《剑指Offer》刷题笔记——面试题46. 把数字翻译成字符串麻烦了些,因为这里,0是不能翻的。
2、代码实现、代码实现
class Solution:
def numDecodings(self, s: str) -> int:
dp = [0] * len(s)
# 考虑第一个字母
if s[0] == "0":
return 0
else:
dp[0] = 1
if len(s) == 1: return dp[-1] # 考虑第二个字母
if s[1] != "0":
dp[1] += 1
if 10 <= int(s[:2]) <= 26:
dp[1] += 1
for i in range(2, len(s)):
# 当出现连续两个0
if s[i - 1] + s[i] == "00": return 0
# 考虑单个字母
if s[i] != "0":
dp[i] += dp[i - 1] # 考虑两个字母
if 10 <= int(s[i - 1] + s[i]) <= 26:
dp[i] += dp[i - 2] return dp[-1]
作者:lockonlxf
weixin_38740144
- 粉丝: 1
- 资源: 973
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
评论0