原文

A message containing letters from A-Z is being encoded to numbers the following mapping:

'A' -> 1
'B' -> 2
...
'Z' -> 26

Given an encoded message containing digits, determine the total number of ways to decode it.

For example,
Given encoded message “12”, it could be decoded as “AB” (1 2) or “L” (12).

The number of ways decoding “12” is 2.

翻译

一条信息包括字母A-Z,它们按如下方式被映射到相应的数字:

'A' -> 1
'B' -> 2
...
'Z' -> 26

给定一个包含数字的编码信息,得出一共有多少种可能的编码方式。

例如,
给定的编码信息是“12”,它可能是“AB”(1 2),也可能是“L”(12)。

所以“12”的编码方式有2种。

代码

题目看了半天才看懂,沮丧脸……

由于是在LeetCode上尝试分类结题,这题被归在了String下面,我以为只是简单的字符串操作就可以搞定,后来发现遍历过程是动态的,也就是要用到DP了。

由于现在对DP还不是很熟练,所以没能解出来,先借用大神的代码来占个坑吧。

bool valid(string s) {if (s[0] == '0')return false;if (s[0] > '2' || (s[0] == '2' && s[1] > '6'))return false;return true;
}int numDecodings(string s) {int len = s.length();if (len == 0 || s[0] == '0') return 0;vector<int> dp(len + 1, 0);dp[0] = 1;dp[1] = 1;for (int i = 2; i <= n; i++) {if (s[i - 1] != '0') dp[i] += dp[i - 1];if (valid(s.substr(i - 2, 2))) dp[i] += dp[i - 2];if (dp[i] == 0) return 0;}return dp[len];
}

LeetCode 92 Decode Ways相关推荐

  1. 【重点!DP】LeetCode 639. Decode Ways II

    LeetCode 639. Decode Ways II 参考网址:https://zxi.mytechroad.com/blog/dynamic-programming/leetcode-639-d ...

  2. 【DFS + 记忆化递归 + DP】LeetCode 91. Decode Ways

    LeetCode 91. Decode Ways Solution1:我的答案 还是记录一下,最容易想到的是DFS,但是在第223/238个case上就超时了... class Solution { ...

  3. [LeetCode]91.Decode Ways

    题目 A message containing letters from A-Z is being encoded to numbers using the following mapping: 'A ...

  4. LeetCode 91 Decode Ways(编码方式)(*)

    原文 A message containing letters from A-Z is being encoded to numbers the following mapping: 'A' -> ...

  5. LeetCode 91. Decode Ways

    问题链接 LeetCode 91 题目解析 A~Z对应数字1~26,给出一段数字串,求破译方法数. 解题思路 动态规划.关键在于分类,定义 \(dp[i]\) 为前i个字符的解密方法数,初始化为0. ...

  6. leetcode 91. Decode Ways | 91. 解码方法(动态规划)

    题目 https://leetcode.com/problems/decode-ways/ 题解 dp 问题,首先用模拟的办法试一下,理清楚状态转移关系. 当走到 i 位置时,i 有两种选择: i 不 ...

  7. [dp] LeetCode 91. Decode Ways

    输入:一个字符串,只包含0-9的字符. 输出:解码种类 规则:有一种信息映射规则 A->1,B->2-Z->26. 例如输入'1',只能解码为A. 输入'12',可以解码为'AB', ...

  8. 【LeetCode】91. Decode Ways 解题报告(Python)

    [LeetCode]91. Decode Ways 解题报告(Python) 标签(空格分隔): LeetCode 作者: 负雪明烛 id: fuxuemingzhu 个人博客: http://fux ...

  9. [LeetCode] Decode Ways

    (Version 0.0) Decode Ways这道题从原理上说是一个比较简单的一维DP题目,用一个一维数组的元素dp[i] (i >= 1)来记录从头开始长度为i的substring有多少种 ...

最新文章

  1. 后端如何发出请求_gRPC系列(三) 如何借助HTTP2实现传输
  2. php面向对象 设计模式,PHP面向对象单态设计模式详解
  3. 计算机网络是啥意思啊,no signal是什么意思啊
  4. php表单确认密码,jQuery表单验证之密码确认实例详解
  5. powerbuilder查询符合条件的数据并且过滤掉其他数据_论文浅尝 ISWC2020 | KnowlyBERT: 知识图谱结合语言模型补全图谱查询...
  6. 家里网线的接法和顺序
  7. tomcat与apache的面试题
  8. 带有谓词的Java中的功能样式-第1部分
  9. LSGO软件技术团队对外技术交流
  10. 文字框架拼接(洛谷P4327题题解,Java语言描述)
  11. 钉钉第三方服务商应用ISV应用开发及上架教程
  12. 中|元宇宙龙头股歌尔自废,资本为何还在追捧
  13. Render to Texture
  14. 如何写一份前端开发简历
  15. 成年人的世界,不过如此
  16. 7-2 买电影票 (C语言)
  17. 视频教程-数据中台-数据仓库建模设计方法和实现-数据仓库
  18. 条码打印机.双面胶.樱花红
  19. 了解你的敌人:跟踪僵尸网络
  20. Gitbook制作PDF电子书

热门文章

  1. 【LeetCode】﹝数学规律ி﹞第N位数字、可怜的小猪
  2. pelican搭建静态博客_Pelican入门:基于Python的静态网站生成器
  3. Docker与Docker-Compose详解
  4. 服务器搭建及数据库部署
  5. nginx负载均衡session共享
  6. 创意十足的面试,让你成功逆袭,打动HR!
  7. 利用隐枚举法求解0-1规划
  8. 【Unity】因为获取安卓ID等隐私数据无法通过审核解决思路
  9. 幻痛 机器人_合金装备5幻痛那个大机器人怎么样打 | 手游网游页游攻略大全
  10. JavaScript + DOM