[leetcode]Decode Ways
2015-10-14 16:35
453 查看
class Solution {//dp public: int numDecodings(string s) { int len=s.length(); if(len<1){ return 0; } vector<int> f(len,0);//f[i]表示到第i个字符的decoding ways for(int i=0;i<len;++i){ if(i==0){ if(s[i]>='1'&&s[i]<='9'){ f[0]=1; } }else{//i>=1 string tmp(s,i-1,2);//截取s[i-1]s[i] if(tmp>="10"&&tmp<="26"){ if(i>1){ f[i]+=f[i-2]; }else{//i==1,没有i - 2这个index f[i]+=1; } } if(s[i]>='1'&&s[i]<='9'){ f[i]+=f[i-1]; } } } return f[len-1]; } };
相关文章推荐
- LevelDB 读取记录
- delphi 手机振动 IOS Android
- Win7系统桌面图标显示异常统一变成白色的两种解决方法
- 遭遇oracle表空文件大小限制
- android获取SDCard中照片并按照时间顺序显示
- 揭开Android神秘面纱之Activity
- Android之TelephonyManager
- 切换分支
- 使用反射让Spinner选择同一选项时触发onItemSelected事件
- 【cocos2d-js官方文档】一、搭建 Cocos2d-JS 开发环境
- 编程语言汇总
- UITextView 追加文字自动跳到顶部解决方法
- 前端开发工具集-----项目开发AngularJS篇
- Blcok的那些事
- Coursera 机器学习笔记(三)
- ios状态栏操作
- java 对象的存储形式
- UltraEdit使用技巧
- 图论目标
- Android onCreate 详解