91. 解码方法

一条包含字母 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) 。

class Solution {public int numDecodings(String s) {if(s == null || s.length() == 0) {return 0;}int n = s.length();int[] dp = new int[n+1];dp[0] = 1;dp[1] = (s.charAt(0) == '0' ? 0 : 1);  for(int i=1; i<n; i++) {char c = s.charAt(i);char pre = s.charAt(i-1);dp[i+1] = c == '0' ? 0 : dp[i];if(pre == '1' || (pre == '2' && c <= '6')) {dp[i+1] += dp[i-1];}} return dp[n];}
}

Java实现 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. LeetCode 91. 解码方法 Java/Python

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

  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 解码方法 动态规划 递推

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

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

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

最新文章

  1. 落地即一地鸡毛,AI落地存在的难题有哪些?
  2. 在项目中使用react
  3. git clone一个github上的仓库非常缓慢 和 github网页打不开
  4. 【Vegas原创】添加SQL Server Agent作业步骤中的运行身份
  5. IT十八掌作业_java基础第十六天_GUI/socket
  6. mysql数据库备份shell_mysql数据库备份shell脚本分享
  7. 命令行下mysql新建用户及分配权限
  8. 服务端自动集成-山寨版
  9. 【华为云技术分享】基于Atlas 200 DK的原版YOLOv3(基于Darknet-53)实现(Python版本)
  10. VB一个可以改变箭头方向的气泡提示
  11. 路由器截获微信消息_小白智慧微信小程序无法打印的解决方案
  12. 拓端tecdat|R语言马尔可夫转换模型研究交通伤亡人数事故预测
  13. 正则表达式的语法及使用
  14. 1. 神禹(shenyu)网关启动踩坑
  15. java中打开eclipse_关于Java:如何在Eclipse中打开jar文件
  16. 中元节,会吃的民族带你了解“鬼节”的习俗
  17. SQL学习笔记(05)_JOIN的类型与用法
  18. Go实现md5加密方法
  19. 机器人搬运码垛工作站
  20. 计算机领域国际学术会议和期刊

热门文章

  1. 2021-02-24 Multisim 14.0 场效应管单按键开关电路
  2. java 跳过 SSL
  3. 项目管理领域关键知识点之横道图和网络图
  4. 原创游戏:血战太平洋1.1(可在Dev-C++上运行)
  5. 《虎虎圆桌派》第一期全程回顾
  6. 171230 编程-井字棋(逆)的先手必胜策略
  7. SK Innovation全球锂电战略布局揭秘
  8. 会说话的好朋友:汤姆猫开发商Outfit7旗下应用盘点
  9. 【蓝桥杯Java】棋盘放麦子
  10. 启用微软e5子账户的outlook邮箱,解决 qyi 续订程序无法刷新令牌问题