[LeetCode] Decode Ways
来源:互联网 发布:用户体验 知乎 编辑:程序博客网 时间:2024/06/06 01:29
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.
class Solution {public: int numDecodings(string s) { int *dp = new int[s.size()]; memset(dp,0,sizeof(int)*s.size()); if(s.size() == 0) return 0; if(s.size() == 1) return s[0] == '0' ? 0 : 1; if(s.size() == 2) return (s[0] != '0' && s[1] != '0' ? 1 : 0) + (s[0] != '0' && ((s[0] - '0') * 10 + s[1] - '0') <= 26 ? 1 : 0); dp[0] = s[0] == '0' ? 0 : 1; dp[1] = (s[0] != '0' && s[1] != '0' ? 1 : 0) + (s[0] != '0' && ((s[0] - '0') * 10 + s[1] - '0') <= 26 ? 1 : 0); for(int i = 2;i < s.size();i ++){ if(s[i] != '0') dp[i] += dp[i - 1]; if(s[i - 1] != '0' && ((s[i - 1] - '0') * 10 + s[i] - '0') <= 26) dp[i] += dp[i - 2]; } return dp[s.size() - 1]; }};
0 0
- Leetcode 91. Decode Ways&&639.Decode ways
- LeetCode: Decode Ways
- [LeetCode]Decode Ways
- LeetCode Decode Ways
- LeetCode : Decode Ways
- [Leetcode] Decode Ways *
- [leetcode] Decode Ways (!!)
- leetcode 17: Decode Ways
- Leetcode: Decode ways
- LeetCode Decode Ways
- [LeetCode]Decode Ways
- [leetcode] Decode Ways
- Leetcode: Decode Ways
- [LeetCode] Decode Ways
- [leetcode]Decode Ways
- LeetCode-Decode Ways
- [leetcode] Decode Ways
- [LeetCode] Decode Ways
- FDATool工具箱简单设计方法
- 方波转为正弦波的简单方案简介
- Matlab曲线拟合(CurveFiting)工具简单使用
- Android事件监听方法案例
- 多线程监听按钮控件(源代码)
- [LeetCode] Decode Ways
- 设计模式六大原则(1):单一职责原则
- 指甲锉找广东金顿厂家ODM定制批发
- 如何设置窗口圆角及边框
- mac下安装LuaSocket
- 在apache中配置python框架bottle
- 第15周项目 3.4 OJ
- Java基础之面向对象(五)
- IWAB0489E Error when deploying Web service to Axis runtime