A message containing letters from A-Z is 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.

解题思路:

dp问题,JAVA实现如下:

		static public int numDecodings(String s) {
if (s.length() == 0 || s.charAt(0) == '0')
return 0;
int[] dp = new int[s.length() + 1];
dp[0] = dp[1] = 1;
for (int i = 1; i < s.length(); i++) {
if (s.charAt(i) == '0'&& (s.charAt(i - 1) != '1' && s.charAt(i - 1) != '2'))
return 0;
else if (s.charAt(i) == '0')
dp[i + 1] = dp[i - 1];
else if (s.charAt(i - 1) == '0'||(s.charAt(i-1)-'0')*10+(s.charAt(i)-'0')>26)
dp[i + 1] = dp[i];
else
dp[i + 1] = dp[i - 1] + dp[i];
}
return dp[s.length()];
}

最新文章

  1. Java学习笔记 03 数组
  2. 漫谈可视化Prefuse(四)---被玩坏的Prefuse API
  3. Flash 二进制传图片到后台Java服务器接收
  4. JS iframe元素和父页面元素互访
  5. 2016-6-15-de novo文献阅读
  6. hdu 4642 博弈
  7. NVIDIA显卡设置提升MineCraft流畅度
  8. WINDOWS自启动程序的10大隐身之所
  9. 银联+移动+三星PK微信、余额宝
  10. js中内置有对象
  11. 制作Windows服务项目详细攻略
  12. iOS-UINavigationBar【颜色设置】
  13. IntelliJ IDEA入门系列
  14. 【linux】之日志查看
  15. eclipse详细安装教程与环境变量设置
  16. c# int类型的转datetime类型
  17. isprime_判断质数
  18. 高并发情况下,如何生成分布式全局id
  19. CUDA ---- 线程配置
  20. JVM 之:Class 类文件结构

热门文章

  1. poor-pigs(非常好的思路)
  2. Java加载Properties配置文件工具类
  3. 关于js对象的基础使用方法-《javascript设计模式》读书笔记
  4. IT行业是吃青春饭的吗?
  5. WPF 基础到企业应用系列5——WPF千年轮回 续前缘
  6. request获取数据的几种方法
  7. linux配置nfs步骤及心得
  8. ie63像素bug原因及解决办法不使用hack
  9. 修改zend studio字符集
  10. Easy AR简单教程