原题链接:https://leetcode-cn.com/problems/decode-ways/

动态规划:

dp[i]表示s[:i]的解码种类数

状态转移:

dp[i]=dp[i-2]               if(s[i]==0 && s[i-1]s[i])   //s[i-1]s[i]表示可以解码成功,!s[i-1][i]表示不可以解码成功
dp[i]=dp[i-1]+dp[i-2]     if(s[i]!=0 && s[i-1]s[i])
dp[i]=dp[i-1]               if(s[i]!=0 && !s[i-1]s[i])
dp[i]=dp[i-1]               if(s[i-1]==0 && s[i-1][i])

代码:

int numDecodings(string s) {map<int, char> mp;for (int i = 1; i <= 26; i++) {mp[i] = 'a' + i;}int n = s.size();if (s[0] == '0') return 0; //如果s第一个字符是为0,返回0vector<int> dp(n + 1, 0);dp[0] = 1;dp[1] = 1;for (int i = 1; i < n; i++) { string str = s.substr(i - 1, 2);if (str[1] != '0') dp[i + 1] += dp[i];if (str[0] != '0' && mp.count(stoi(str))) dp[i + 1] += dp[i - 1];}return dp[n];
}

leetcode算法题--解码方法★相关推荐

  1. LeetCode算法题-Nth Digit(Java实现)

    这是悦乐书的第215次更新,第228篇原创 01 看题和准备 今天介绍的是LeetCode算法题中Easy级别的第83题(顺位题号是400).找到无限整数序列的第n个数字1,2,3,4,5,6,7,8 ...

  2. LeetCode算法题-Convert a Number to Hexadecimal(Java实现)

    这是悦乐书的第219次更新,第231篇原创 01 看题和准备 今天介绍的是LeetCode算法题中Easy级别的第86题(顺位题号是405).给定一个整数,写一个算法将其转换为十六进制.对于负整数,使 ...

  3. LeetCode算法题-Minimum Depth of Binary Tree(Java实现)

    这是悦乐书的第168次更新,第170篇原创 01 看题和准备 今天介绍的是LeetCode算法题中Easy级别的第27题(顺位题号是111).给定二叉树,找到它的最小深度.最小深度是沿从根节点到最近的 ...

  4. LeetCode算法题-Valid Palindrome II(Java实现)

    这是悦乐书的第287次更新,第304篇原创 01 看题和准备 今天介绍的是LeetCode算法题中Easy级别的第155题(顺位题号是680).给定非空字符串s,最多可以删除一个字符. 判断它是否是回 ...

  5. LeetCode算法题-K-diff Pairs in an Array(Java实现)

    这是悦乐书的第254次更新,第267篇原创 01 看题和准备 今天介绍的是LeetCode算法题中Easy级别的第121题(顺位题号是532).给定一个整数数组和一个整数k,您需要找到数组中唯一的k- ...

  6. LeetCode算法题-Jewels and Stones(Java实现)

    这是悦乐书的第313次更新,第334篇原创 01 看题和准备 今天介绍的是LeetCode算法题中Easy级别的第182题(顺位题号是771).字符串J代表珠宝,S代表你拥有的石头.S中的每个字符都是 ...

  7. LeetCode算法题-Repeated String Match(Java实现)

    这是悦乐书的第289次更新,第307篇原创 01 看题和准备 今天介绍的是LeetCode算法题中Easy级别的第156题(顺位题号是686).给定两个字符串A和B,找到A必须重复的最小次数,使得B是 ...

  8. LeetCode算法题-Factorial Trailing Zeroes(Java实现)

    这是悦乐书的第183次更新,第185篇原创 01 看题和准备 今天介绍的是LeetCode算法题中Easy级别的第42题(顺位题号是172).给定一个整数n,返回n!中的尾随零数.例如: 输入:3 输 ...

  9. LeetCode算法题-Number Complement(Java实现-五种解法)

    这是悦乐书的第240次更新,第253篇原创 01 看题和准备 今天介绍的是LeetCode算法题中Easy级别的第107题(顺位题号是476).给定正整数,输出其补码数.补充策略是翻转其二进制表示的位 ...

最新文章

  1. BZOJ 3241: [Noi2013]书法家
  2. 深度学习分布式策略优化、显存优化、通信优化、编译优化综述
  3. 程序员面试题精选100题(24)-栈的push、pop序列[数据结构]
  4. B02_NumPy数据类型(常见基本数据类型列举,数据类型对象 (dtype))
  5. PHP的postman的bulk edit小功能:可以直接复制浏览器query string parameters的数据至postman的body的form-data 很方便 不用手写了
  6. Spring源码分析——资源访问利器Resource之接口和抽象类分析
  7. NPTL(Native POSIX Thread Library)
  8. 美团无人配送CVPR2020论文CenterMask解读
  9. Tensorflow中卷积的padding操作
  10. Must be between v0 and v15, inclusive解决办法
  11. java 实现类似于python requests包的Session类,自动管理cookie。
  12. mysql数据库主从不同步_MySQL数据库之mysql主从数据库不同步的2种解决方法
  13. java中的 关键词vali_Java中的关键字volatile详解
  14. 网络机顶盒可以直接刷linux吗_卡盟刷钻平台免费刷-上海装修报价
  15. Java实现大写金额转小写金额
  16. 《数字图像处理 第三版》(冈萨雷斯)——第四章 频率域处理
  17. 2022年希捷、东芝、HGST、西数硬盘
  18. python中获取网页元素
  19. 传统的6d位姿估计fangfa1_6D目标姿态估计,李飞飞夫妇等提出DenseFusion
  20. 火锅店软件需求(附带完成过程)

热门文章

  1. 零基础python书籍推荐-非IT行业,零基础自学Python,选什么书?
  2. python 数据分析学什么-python数据分析学什么?python数据分析入门
  3. python编码规范手册-python之(8)Python编码规范整理
  4. python培训班时间 费用-广州python培训班收费标准
  5. python装饰器原理-简单了解python装饰器原理及使用方法
  6. python处理流程-在python异步协程中处理流程分析(一)
  7. python怎么变白-python – 在热图中使反向对角线变白
  8. python从零基础到项目实战怎么样-Python 3.x网络爬虫从零基础到项目实战
  9. python中文意思k-python-RepeatedKFold实际上是什么意思?
  10. python编程入门p-读书笔记 - 《Python编程:从入门到实践》