decode-ways Java code
2017-11-03 11:10
537 查看
A message containing letters fromA-Zis being encoded to numbers using the following mapping:
‘A’ -> 1
‘B’ -> 2
…
‘Z’ -> 26
Given an encoded message containing digits, determine the total number of ways to decode it.
For example,
Given encoded message”12”, it could be decoded as”AB”(1 2) or”L”(12).
The number of ways decoding”12”is 2.
‘A’ -> 1
‘B’ -> 2
…
‘Z’ -> 26
Given an encoded message containing digits, determine the total number of ways to decode it.
For example,
Given encoded message”12”, it could be decoded as”AB”(1 2) or”L”(12).
The number of ways decoding”12”is 2.
public class Solution { public int numDecodings(String s) { //解题思路: //基本是斐波拉契数列dp[i]=dp[i-1]+dp[i-2] //dp[i]表示s[0-(i-1)]的解法的个数 //dp[i-1]表示单独加入新的数字,dp[i-2]表示和前面一个数字凑 //http://www.cnblogs.com/grandyang/p/4313384.html if(s.length() == 0 || s == null || (s.length() > 1 && s.charAt(0)== '0')){ return 0; } int[] dp = new int[s.length()+1]; dp[0] = 1; for(int i = 1; i < dp.length; i++){ //前面一个字符不是'0'则dp[i]至少等于dp[i-1] if(s.charAt(i-1) == '0'){ dp[i] = 0; }else{ dp[i] = dp[i-1]; } //判断前一个字符和当前字符是不是可以凑 if(( i > 1 && s.charAt(i-1)<= '6' && s.charAt(i-2) =='2') || ( i > 1 && s.charAt(i-2) == '1' ) ){ dp[i] += dp[i-2]; } } return dp[s.length()]; } }
相关文章推荐
- leetcode JAVA Decode Ways 难度系数3 3.31
- leecode Decode Ways
- [LeetCode][Java] Decode Ways
- Java for LeetCode 091 Decode Ways
- [LeedCode OJ]#91 Decode Ways
- Decode Ways leetcode java
- lintcode decode-ways 解码方法
- Recommend ways to overwrite hashCode() in java
- CODE 43: Decode Ways
- Java中创建对象的5种方式 – 码农网 http://www.codeceo.com/article/5-ways-java-create-object.html
- Decompiled .class file,bytecode version:52.0(Java 8) Source for 'Android API 24 Platform' not found
- Java Code Examples for io.jsonwebtoken.SignatureAlgorithm
- Three Ways To Inject Your Code Into Another Process
- Java Code Examples for org.apache.thrift.server.TT
- myeclipse 写java代码提示 dead code 原因
- best-time-to-buy-and-sell-stock Java code
- Encoder/Decoder for a (31,21,5) binary BCH code(C[Author:Robert Morelos-Zaragoza]、Java)
- Python 中文code与decode转换
- LeetCode #91 - Decode Ways
- 二维码工具类 - QrcodeUtils.java