第八周:[leetCode] 91. Decode Ways
来源:互联网 发布:java开发酒店管理系统 编辑:程序博客网 时间:2024/06/09 02:27
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类题目,寻找状态转移方程是关键,代码中pre 和 cur分别为直至第i-2位和第i-1位数字串所能编译的信息个数。
int numDecodings(string s) { int n = s.length(); if(n == 0 || s[0] == '0')return 0; int pre = 1, cur = 1,res = 1; for(int i = 1; i < n; i++){ if(isValid(s[i]) && isValid(s[i-1], s[i])) res = pre + cur; else if(!isValid(s[i]) && isValid(s[i-1],s[i])) res = pre; else if(isValid(s[i]) && !isValid(s[i-1],s[i])) res = cur; else return 0; pre = cur; cur = res; } return res; } bool isValid(char pre, char cur){ if(pre == '1' || (pre == '2' && cur < '7')) return true; else return false; } bool isValid(char cur){ return cur != '0'; }
0 0
- 第八周:[leetCode] 91. Decode Ways
- Leetcode 91. Decode Ways&&639.Decode ways
- [Leetcode] 91. Decode Ways
- LeetCode --- 91. Decode Ways
- [LeetCode]91.Decode Ways
- [leetcode] 91.Decode Ways
- [leetcode] 91. Decode Ways
- Leetcode 91. Decode Ways
- leetcode 91. Decode Ways
- Leetcode 91. Decode Ways
- leetcode 91. Decode Ways
- LeetCode 91. Decode Ways
- LeetCode *** 91. Decode Ways
- Leetcode:91. Decode Ways
- leetcode 91. Decode Ways
- LeetCode-91.Decode Ways
- LeetCode 91. Decode Ways
- leetcode.91. Decode Ways
- 主从配置master宕机slave库切换为master配置
- 第四届 山东省ACM Alice and Bob
- gdb常用命令整理
- Spring整合Hibernate
- busybox tftp上传下载命令
- 第八周:[leetCode] 91. Decode Ways
- Android Studio使用新的Gradle构建工具配置NDK环境-experimental篇(四)
- C++小白之旅(一)
- package,source folder,folder
- 机器学习知识点(二十一)特征选择之岭回归和LASSO
- Http请求中Content-Type讲解以及在Spring MVC中的应用
- Android实现可移动的自定义浮动按钮
- 链表与数组的区别
- 【CQOI2017】bzoj4823 老C的方块