Java实现 LeetCode 91 解码方法
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 解码方法相关推荐
- LeetCode 91.解码方法
LeetCode 91.解码方法 ways: s[i] = 0 : if(s[i-1] == 1 || s[i-1] == 2) :s[i]只能和前一位绑定在一起,此时dp[i] = dp[i-2]; ...
- leetcode: 91. 解码方法
91. 解码方法 来源:力扣(LeetCode) 链接: https://leetcode.cn/problems/decode-ways/ 一条包含字母 A-Z 的消息通过以下映射进行了 编码 : ...
- LeetCode 91. 解码方法 Java/Python
一条包含字母 A-Z 的消息通过以下方式进行了编码: 'A' -> 1 'B' -> 2 ... 'Z' -> 26 给定一个只包含数字的非空字符串,请计算解码方法的总数. 示例 1 ...
- LeetCode 91. 解码方法(动态规划)
1. 题目 一条包含字母 A-Z 的消息通过以下方式进行了编码: 'A' -> 1 'B' -> 2 ... 'Z' -> 26 给定一个只包含数字的非空字符串,请计算解码方法的总数 ...
- 125. Leetcode 91. 解码方法 (动态规划- 字符串系列)
步骤一.确定状态: 确定dp数组及下标含义 dp[i]表示的是到i这个位置的字符串的解码方法 步骤二.推断状态方程: dp[i]的推导会取决于当前s[i]的字符情况以及前一位字符,具体如下: 如果当前 ...
- Leetcode 91. 解码方法 (每日一题 20211013)
一条包含字母 A-Z 的消息通过以下映射进行了 编码 :'A' -> 1 'B' -> 2 ... 'Z' -> 26 要 解码 已编码的消息,所有数字必须基于上述映射的方法,反向映 ...
- leetcode - 91. 解码方法
一条包含字母 A-Z 的消息通过以下方式进行了编码: ′A′−>1'A' -> 1′A′−>1 ′B′−>2'B' -> 2′B′−>2 ......... ′Z′ ...
- leetcode 91 解码方法 动态规划 递推
// 各种特殊情况处理 // 选择从右往左,从左往右也是一样class Solution { public:int numDecodings(string s) {int n = s.length() ...
- leetcode 91. 解码方法(dp)
解题思路 记忆化搜索,记录已经计算过的子问题 代码 func numDecodings(s string) int {temp:=make([]int,len(s),len(s))for i := r ...
最新文章
- 落地即一地鸡毛,AI落地存在的难题有哪些?
- 在项目中使用react
- git clone一个github上的仓库非常缓慢 和 github网页打不开
- 【Vegas原创】添加SQL Server Agent作业步骤中的运行身份
- IT十八掌作业_java基础第十六天_GUI/socket
- mysql数据库备份shell_mysql数据库备份shell脚本分享
- 命令行下mysql新建用户及分配权限
- 服务端自动集成-山寨版
- 【华为云技术分享】基于Atlas 200 DK的原版YOLOv3(基于Darknet-53)实现(Python版本)
- VB一个可以改变箭头方向的气泡提示
- 路由器截获微信消息_小白智慧微信小程序无法打印的解决方案
- 拓端tecdat|R语言马尔可夫转换模型研究交通伤亡人数事故预测
- 正则表达式的语法及使用
- 1. 神禹(shenyu)网关启动踩坑
- java中打开eclipse_关于Java:如何在Eclipse中打开jar文件
- 中元节,会吃的民族带你了解“鬼节”的习俗
- SQL学习笔记(05)_JOIN的类型与用法
- Go实现md5加密方法
- 机器人搬运码垛工作站
- 计算机领域国际学术会议和期刊