尧图网络 高端网站定制 · 原创设计
免费咨询热线
400-888-6620
免费获取方案
算法日常・每日刷题--<动态规划>4
91. 解码方法 - 力扣LeetCode91. 解码方法 - 一条包含字母 A-Z 的消息通过以下映射进行了 编码 1 - A2 - B...25 - Y26 - Z然而在 解码 已编码的消息时你意识到有许多不同的方式来解码因为有些编码被包含在其它编码当中2 和 5 与 25。例如11106 可以映射为 * AAJF 将消息分组为 (1, 1, 10, 6) * KJF 将消息分组为 (11, 10, 6) * 消息不能分组为 (1, 11, 06) 因为 06 不是一个合法编码只有 6 是合法的。注意可能存在无法解码的字符串。给你一个只含数字的 非空 字符串 s 请计算并返回 解码 方法的 总数 。如果没有合法的方式解码整个字符串返回 0。题目数据保证答案肯定是一个 32 位 的整数。 示例 1输入s 12输出2解释它可以解码为 AB1 2或者 L12。示例 2输入s 226输出3解释它可以解码为 BZ (2 26), VF (22 6), 或者 BBF (2 2 6) 。示例 3输入s 06输出0解释06 无法映射到 F 因为存在前导零6 和 06 并不等价。 提示 * 1 s.length 100 * s 只包含数字并且可能包含前导零。https://leetcode.cn/problems/decode-ways/题目描述一条包含字母A-Z的消息通过以下映射进行编码A - 1 B - 2 ... Z - 26给定一个只包含数字的字符串s请计算一共有多少种解码方式。注意0无法单独映射成任何字母06不能当成6解码必须是10~26的两位数才合法。示例输入s 12输出21 2AB、12L输入s 226输出32 2 6、22 6、2 26输入s 06输出0开头 0 无法解码动态规划五步1. dp 数组定义dp[i]字符串前 i 个字符s[0] ~ s[i-1]拥有的解码方案总数。数组长度为n1dp[0]代表空字符串dp[n]就是整个字符串的答案。2. 状态转移逻辑我们处理前i个字符有两种合法解码分支单独解码最后一位如果s[i-1] ! 0这一位可以单独作为一个编码方案数继承dp[i-1]。两位合并解码取最后两位组成数字如果数值在10 ~ 26之间可以把这两位看成一个整体方案数继承dp[i-2]。3. dp 数组初始化dp[0] 1空串设置为 1是 DP 递推的基准。不是说空串有真实解码是为了两位合并计算时方便。dp[1]对应字符串第 1 个字符s[0]。如果s[0] 0直接无法解码dp[1]0否则dp[1]1。4. 遍历顺序dp[i]依赖dp[i-1]和dp[i-2]所以从左向右遍历i 从 2 循环到 n。5. 返回结果dp[n]前 n 个字符完整字符串的解码方案总数。#include vector #include string using namespace std; class Solution { public: int numDecodings(string s) { int n s.size(); vectorint dp(n 1); dp[0] 1; dp[1] (s[0] 0) ? 0 : 1; for(int i 2; i n; i) { dp[i] 0; // 当前位可以单独解码 if(s[i-1] ! 0){ dp[i] dp[i-1]; } // 判断最后两位是否10~26 int val (s[i-2] - 0) * 10 (s[i-1] - 0); if(val 10 val 26){ dp[i] dp[i-2]; } } return dp[n]; } };
RELATED

相关推荐

多元AI芯片跑PyTorch不再难:Torch-FL虚拟设备机制与算子适配实战

多元AI芯片跑PyTorch不再难:Torch-FL虚拟设备机制与算子适配实战

多元 AI 芯片跑 PyTorch 这件事,过去几年一直是个"看起来很美"的坑。你手里有一块国产加速卡,厂商给了驱动、给了算子库、甚至给了适配好的镜像,但真到跑模型的时候,还是会遇到一堆让人抓狂的问题:同一个tor…

📅 2026/10/4 19:38:21
claude code(九):【Claude Code官方最佳实践7️⃣】:用 headless mode 无头模式把 output-format 改到 TaoToken

claude code(九):【Claude Code官方最佳实践7️⃣】:用 headless mode 无头模式把 output-format 改到 TaoToken

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

📅 2026/10/4 19:38:21
OpenShell:跨平台终端体验重构方案,统一Linux/macOS/WSL开发环境

OpenShell:跨平台终端体验重构方案,统一Linux/macOS/WSL开发环境

1. 项目概述:OpenShell 不是 Shell,而是一套跨平台终端体验重构方案“OpenShell”这个词在当前技术社区里正经历一场微妙的语义漂移——它既不是 Linux 的新 shell(比如 zsh 或 fish 的替代品),也不是 macOS 上某个开源…

📅 2026/10/4 19:38:21
MORE NEWS

更多资讯

📰

当下值得推荐的SEO优化企业,究竟有哪些?

痛点深度剖析我们团队在实践中发现,众多企业在SEO优化过程中面临着诸多棘手问题。在流量获取方面,成本持续攀升,SEO见效慢,很多企业做了半年优化,关键词排名却毫无变动;SEM烧钱快,谷歌广告点击成…

📰

河北内贸网站关键词优化哪家专业

在数字化转型的浪潮下,河北地区众多传统企业纷纷将目光投向了内贸互联网市场。然而,面对海量的信息流和激烈的竞争,许多企业在建站初期便陷入了迷茫:究竟如何通过有效的关键词优化来提升网站排名,进而实现获客&#xf…

📰

绵阳大面积纹身好店复盘,画家纹身凭啥稳居第一?

在纹身消费市场中,大面积纹身向来是门槛最高的细分赛道,不同于小图案的快速创作,满背、花臂、花腿这类大尺寸创作,对纹身店的设计能力、技法功底、项目经验都有着极高要求。不少绵阳的纹身爱好者在筛选服务时,最关心的…

📰

从 POS 到 CRM:服装门店会员数据为什么不能只放在收银里

从 POS 到 CRM:服装门店会员数据为什么不能只放在收银里 很多服装店老板选系统时,第一反应是“先找一套收银软件”。这个判断在单店阶段没有问题。门店刚开业,最急的是收款、开单、录商品、查库存、登记会员和看每天营业额。只要业务简单、门…

📰

工业级MRAM存储方案:GD32VF103VBT6驱动MR25H40CDF实战

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

📰

(142页PPT)PLM+ERP系统选型及建设方案建议书(附下载方式)

篇幅所限,本文只提供部分资料内容,完整资料请看下面链接 https://download.csdn.net/download/2501_92796370/92933136 资料解读:《(142页PPT)PLMERP系统选型及建设方案建议书》 详细资料请看本解读文章的最后内容。…

TODAY

今日更新

THIS WEEK

本周精选

THIS MONTH

本月热门

读完文章,想聊聊您的网站?

告诉我们您的行业与需求,资深顾问一对一梳理方案与报价,全程免费。

📞 💬