【LeetCode】Decode Ways
来源:互联网 发布:js mouseover 冒泡 编辑:程序博客网 时间:2024/06/16 10:52
题目描述:
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.
若1<=s[i-1]s[i]<=26,则dp[i]=dp[i]+dp[i-2];
若1<=s[i]<=26,则dp[i]=dp[i]+dp[i-1]。
需要注意以下问题:
1、s[0]和s[1]处的边界问题
2、s[i-1]和s[i]为0时的处理
代码如下:
class Solution {public:int numDecodings(string s) {if (!s.length())return 0;vector<int> dp(s.length(), 0);for (int i = 0; i < s.length(); i++){if (s[i] != '0'){if (i == 0) dp[i] = 1;else dp[i] = dp[i] + dp[i - 1];}int d = (s[i - 1] - 48) * 10 + s[i] - 48;if (i >= 1 && s[i - 1] != '0'&&d >= 1 && d <= 26){if (i == 1) dp[i] = dp[i] + 1;else dp[i] = dp[i] + dp[i - 2];}}return dp[dp.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
- JMS
- java50题----17猴子吃桃
- Android-Universal-Image-Loader图片缓存
- PHP web页面提示返回
- PAT-B 1014. 福尔摩斯的约会(python, C++)
- 【LeetCode】Decode Ways
- 编程与英语的关系
- vb.net基础教程
- 哈弗曼压缩与解压的原理及对象化实现
- 基于jquery拆分姓名的方法[纯javascript版]
- 人防提供货源那个地方施工合同被服务分为
- 人防听歌或工本费v玩得起我让他委员会今日特我企鹅他跟我
- 第三部分 错失的信息第46节 无人生还(2)
- Gluterfs AFR机制代码入门