建立一位dp数组,长度比输入数组长多1,全部初始化为1,因为斐波那契数列的前两项也为1,然后从第三个数开始更新,对应数组的第一个数。对每个数组首先判断其是否为0,若是将改为dp赋0,若不是,赋上一个dp值,此时相当于加上了dp[i - 1], 然后看数组前一位是否存在,如果存在且满足前一位不是0,且和当前为一起组成的两位数不大于26,则当前dp值加上dp[i - 2], 至此可以看出来跟斐波那契数组的递推式一样。

class Solution {
public:int numDecodings(string s) {if (s.empty() || (s.size() > 1 && s[0] == '0')) return 0;vector<int> dp(s.size() + 1, 0);dp[0] = 1;for (int i = 1; i < dp.size(); ++i) {dp[i] = (s[i - 1] == '0') ? 0 : dp[i - 1];if (i > 1 && (s[i - 2] == '1' || (s[i - 2] == '2' && s[i - 1] <= '6'))) {dp[i] += dp[i - 2];}}return dp.back();}
};

Decode Ways相关推荐

  1. [LeetCode] Decode Ways

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

  2. Decode Ways leetcode java

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

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

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

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

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

  5. [LeetCode]91.Decode Ways

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

  6. [LeetCode-Algorithms-91] Decode Ways (2017.10.19-WEEK7)

    题目链接:Decode Ways 题目描述:A message containing letters from A-Z is being encoded to numbers using the fo ...

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

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

  8. 91 Decode Ways

    为什么我常常对做题产生恐惧,因为可能为了一个不算难的问题不知不觉绕进去2个小时,这显然是不值得的.这题就是如此. 还要注意,java && 的优先级高于||的优先级,而不是同级. pu ...

  9. 91 Decode Ways

    91 Decode Ways dp解法 O(1) space class Solution:# @param {string} s# @return {integer}def numDecodings ...

  10. leetcode面试准备:Decode Ways

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

最新文章

  1. Python控制流:顺序结构、分支结构、循环结构+for、if ... else、while、if... elif...elif..else、if
  2. 因为那里面有我,也有你
  3. Linux系统编程---14(回收子线程,回收多个子线程,线程分离,杀死线程)
  4. lptv自建服务器,如何搭建自己的IPTV平台
  5. 一步一步教你使用AgileEAS.NET基础类库进行应用开发-基础篇-演示ORM中的查询
  6. 19C新特性:Voting Disk管理
  7. YUY2(YUV) 与 RGB 格式图片的相互转换 以及 基于YUY2(YUV)的blending
  8. antdPro Nginx 打包部署
  9. 最新!Oracle/ MySQL/ MSSQL 三大数据库集体跳水。。
  10. gradle下载地址
  11. DeepLearning | Broad Learning System 宽度学习系统 : 高效增量式浅层神经网络
  12. 工作中的会议纪要模板
  13. mysql localhost无法连接
  14. 开发谷歌浏览器翻译插件
  15. java tapestry_Java Web 框架 Tapestry
  16. 【云原生 | Kubernetes 系列】K8s 实战 管理 Secret 详解
  17. SQL Server 的几个故障
  18. 与台湾的第一次亲密接触
  19. 2022-2027年中国旅游地产行业发展前景及投资战略咨询报告
  20. 服务器和微内核系统哪个好,分析微内核架构操作系统优缺点

热门文章

  1. 未知高度的非表格垂直对齐
  2. linux命令与示例 week 3
  3. 3 docker容器
  4. lucene查询索引之Query子类查询——(七)
  5. MySQL的Grant命令[转]
  6. TCP协议的三次握手+四次断开
  7. 深入分析MVC中通过IOC实现Controller依赖注入的原理
  8. 怎么加密高程点_珠峰咋有4个高度?专业测绘科技工作者解读珠峰高程测算过程...
  9. linux 远程连接ssh提示IT IS POSSIBLE THAT SOMEONE IS DOING SOMETHING NASTY解决
  10. 一个完整的Java Web项目需要掌握哪些技术