一条包含字母 A-Z 的消息通过以下方式进行了编码:

'A' -> 1
'B' -> 2
...
'Z' -> 26
给定一个只包含数字的非空字符串,请计算解码方法的总数。

示例 1:

输入: "12"
输出: 2
解释: 它可以解码为 "AB"(1 2)或者 "L"(12)。
示例 2:

输入: "226"
输出: 3
解释: 它可以解码为 "BZ" (2 26), "VF" (22 6), 或者 "BBF" (2 2 6) 。

思路:动态规划

解码的方法分为两类,一种是纯单个字符,一种是小于27的两位字符

提交的代码:

class Solution {

public int numDecodings(String s) {

int dp[] = new int[s.length()+1];

dp[0] = 1;

for(int i=1;i<=s.length();i++)

{

if(s.charAt(i-1)!='0')

{

dp[i]+=dp[i-1];

}

if(i>=2&&(s.charAt(i-2)=='1'||(s.charAt(i-2)=='2'&&s.charAt(i-1)<'7')))

{

dp[i]+=dp[i-2];

}

}

return dp[s.length()];

}

}

Leetcode--91. 解码方法相关推荐

  1. LeetCode 91.解码方法

    LeetCode 91.解码方法 ways: s[i] = 0 : if(s[i-1] == 1 || s[i-1] == 2) :s[i]只能和前一位绑定在一起,此时dp[i] = dp[i-2]; ...

  2. leetcode: 91. 解码方法

    91. 解码方法 来源:力扣(LeetCode) 链接: https://leetcode.cn/problems/decode-ways/ 一条包含字母 A-Z 的消息通过以下映射进行了 编码 : ...

  3. Java实现 LeetCode 91 解码方法

    91. 解码方法 一条包含字母 A-Z 的消息通过以下方式进行了编码: 'A' -> 1 'B' -> 2 - 'Z' -> 26 给定一个只包含数字的非空字符串,请计算解码方法的总 ...

  4. LeetCode 91. 解码方法(动态规划)

    1. 题目 一条包含字母 A-Z 的消息通过以下方式进行了编码: 'A' -> 1 'B' -> 2 ... 'Z' -> 26 给定一个只包含数字的非空字符串,请计算解码方法的总数 ...

  5. 125. Leetcode 91. 解码方法 (动态规划- 字符串系列)

    步骤一.确定状态: 确定dp数组及下标含义 dp[i]表示的是到i这个位置的字符串的解码方法 步骤二.推断状态方程: dp[i]的推导会取决于当前s[i]的字符情况以及前一位字符,具体如下: 如果当前 ...

  6. Leetcode 91. 解码方法 (每日一题 20211013)

    一条包含字母 A-Z 的消息通过以下映射进行了 编码 :'A' -> 1 'B' -> 2 ... 'Z' -> 26 要 解码 已编码的消息,所有数字必须基于上述映射的方法,反向映 ...

  7. leetcode - 91. 解码方法

    一条包含字母 A-Z 的消息通过以下方式进行了编码: ′A′−>1'A' -> 1′A′−>1 ′B′−>2'B' -> 2′B′−>2 ......... ′Z′ ...

  8. LeetCode 91. 解码方法 Java/Python

    一条包含字母 A-Z 的消息通过以下方式进行了编码: 'A' -> 1 'B' -> 2 ... 'Z' -> 26 给定一个只包含数字的非空字符串,请计算解码方法的总数. 示例 1 ...

  9. leetcode 91 解码方法 动态规划 递推

    // 各种特殊情况处理 // 选择从右往左,从左往右也是一样class Solution { public:int numDecodings(string s) {int n = s.length() ...

  10. leetcode 91. 解码方法(dp)

    解题思路 记忆化搜索,记录已经计算过的子问题 代码 func numDecodings(s string) int {temp:=make([]int,len(s),len(s))for i := r ...

最新文章

  1. nginx 缓存时间说明
  2. 9.文本处理(读写配置文件)
  3. Sql server 获得某一部门下的所有子部门。根据子部门获得它的上级部门。
  4. 从 ELK 到 EFK 演进
  5. IDEA的查询引用、调用关系图的功能
  6. PHP 入门 - 6.面对对象
  7. python爬知识星球付费数据_用python爬取知识星球
  8. R语言基础入门(4)之数据类型与相应运算2
  9. Python 分析国庆热门旅游景点,告诉你哪些地方好玩、便宜、人又少!
  10. N76E003的学习之路(一)
  11. python一切皆对象的理解
  12. 北京50年代到90年代的春节老照片,终于找全了!
  13. 内蒙古煤炭经济杂志社内蒙古煤炭经济编辑部2022年第14期目录
  14. 大妈也能看懂的大数据分布式计算图解
  15. linuxmint/ubuntu修改主机名hostnam
  16. 计算机格式字体颜色,电脑怎么设置不同的字体颜色样式
  17. 蚂蚁金融NLP竞赛——文本语义相似度赛题总结
  18. 使用Python开发一个恐龙跳跳小游戏,玩起来
  19. 高中必备学习软件_有那些免费好用的高中学习软件?
  20. 基于Python的书店销售管理系统

热门文章

  1. 潜在狄利克雷分配(Latent Dirichlet Allocation,LDA)
  2. LeetCode 1033. 移动石子直到连续
  3. 剑指Offer - 面试题7. 重建二叉树(递归)
  4. randn函数加噪声_语义分割中常用的损失函数1(基础篇)
  5. c++exe程序在别人电脑上双击无法打开_Windows10电脑磁盘占用率过高,用这二招轻松解决...
  6. android menu xml 属性,Android中Menu类型及常见属性说明
  7. Jquery事件、冒泡、委托与节点
  8. 在斯坦福,做 Manning 的 phd 要有多强?
  9. 论文浅尝 | 用于开放领域的问题生成
  10. 【NLP-NER】命名实体识别