decode-ways
来源:互联网 发布:网络兼职做什么赚钱 编辑:程序博客网 时间:2024/06/12 01:05
题目描述
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.
注意不合法的情况比如00,30,这种,利用dp
class Solution {public: int numDecodings(string s) { if(s.size()<1) return 0; if(s[0]=='0') return 0; vector<int> dp(s.size(),0); dp[0]=1; int tmp=atoi(s.substr(0,2).c_str()); if(tmp<=26&&tmp>0&&s[1]!='0') dp[1]=2; else if(s[1]=='0'&&s[0]>'2') return 0; else dp[1]=1; for(int i=2;i<s.size();++i) { int num=atoi(s.substr(i-1,2).c_str()); if(num<=26&&num>10&&s[i]!='0') dp[i]=dp[i-1]+dp[i-2]; else if(s[i]=='0'&&s[i-1]!='0'&&num<=26) dp[i]=dp[i-2]; else if(s[i]!='0') dp[i]=dp[i-1]; else return 0; } return dp[s.size()-1]; }};
0 0
- Decode Ways
- Decode Ways
- Decode Ways
- Decode Ways
- Decode Ways
- Decode Ways
- Decode Ways
- Decode Ways
- Decode Ways
- Decode Ways
- Decode Ways
- Decode Ways
- Decode Ways
- Decode ways
- Decode Ways
- Decode Ways
- Decode Ways
- Decode Ways
- 用Java解决约瑟夫环问题
- 线程安全和可重入函数的基本概念
- 图库选择
- 系统评测指标—准确率(Precision)、召回率(Recall)、F值(F-Measure)
- 网易春招编程题1
- decode-ways
- 线段树练习题三
- Hibernate的注解开发之数据的三种关系介绍,表结构一对一
- Python入门之条件分支
- 递归实现全排列,关于凑算式实例
- sdut2609——A-Number and B-Number(数位DP+二分)
- python 环境搭建 ,连接 mysql
- 正则表达式分组实例以及正则贪婪
- 从后台一次查询所有数据,在前端用js进行分页处理,不再次走数据库