91. Decode Ways
来源:互联网 发布:微表情心理学软件 编辑:程序博客网 时间:2024/06/05 21:13
这道题有点像70. Climbing Stairs,类似斐波那契数列,但是它的状态
比较多。
class Solution {public: int numDecodings(string s) { int n=s.size(); if(n==0||s[0]=='0')//第一个数为0直接排除 return 0; int *decode=new int[n]; decode[0]=1; decode[1]=1; for(int i=2;i<=n;i++) { if(s[i-1]=='0'&&(s[i-2]=='1'||s[i-2]=='2'))//当前数为0时,如果前一个数为1或者2,那么当前状态就等于向前两个的状态 decode[i]=decode[i-2]; else if(s[i-1]=='0'&&(s[i-2]=='0'||s[i-2]>'2'))//当前数为0时,过前一个数为0或者大于2,不能解码直接跳出 return 0; else if(s[i-2]=='0')//如果前一位为0,那么和前3位的状态相同 decode[i]=decode[i-3]; else if(s[i-2]>'2'||s[i-2]=='2'&&s[i-1]>'6')//如果当前两位大于26,那么当前状态和前一位相同 decode[i]=decode[i-1]; else decode[i]=decode[i-1]+decode[i-2]; } return decode[n]; }};
0 0
- Leetcode 91. Decode Ways&&639.Decode ways
- [Leetcode] 91. Decode Ways
- LeetCode --- 91. Decode Ways
- [LeetCode]91.Decode Ways
- [leetcode] 91.Decode Ways
- 91. Decode Ways
- Algorithms-91.Decode Ways
- [leetcode] 91. Decode Ways
- 91. Decode Ways
- Leetcode 91. Decode Ways
- 91. Decode Ways
- leetcode 91. Decode Ways
- 91. Decode Ways
- 91. Decode Ways
- Leetcode 91. Decode Ways
- leetcode 91. Decode Ways
- LeetCode 91. Decode Ways
- 91. Decode Ways
- 51nod 1042 数字0-9的数量(数位dp)
- 使用经验4
- 逻辑位移与算数位移的区别
- CSS定位与CSS属性选择器
- JAVASE学习笔记
- 91. Decode Ways
- js中的location.reload()
- openwrt源码结构(装载)
- poj-3397【线段树区间合并】
- 如何利用nginx或tomcat搭建文件服务器
- 第七节表格表单及样式重置、特性
- View的onTouchEvent、setTouchListener、OnClick和setClickListener四者的区别
- 数据库的基本操作之一些基本语句
- 查看正在执行的mysql指令