【动态规划】牛客网:把数字翻译成字符串
有一种将字母编码成数字的方式:'a'->1, 'b->2', ... , 'z->26'。
现在给一串数字,返回有多少种可能的译码结果
输入:"12"
返回值:2种可能的译码结果(”ab” 或”l”)
其实这道题目很像爬楼梯,一次能爬一层和爬两层,只是爬的过程中增加了一些限定条件,只要将这些限定条件屡清楚则可以完全搞懂这类题目
dp[i]:表示前i个字符有多少种译码结果
dp[i]=dp[i-1](如果最后一个字符是合法编码)+dp[i-2](如果最后两个字符是合法编码)
dp[0]=1;
dp[1]=1(且nums.charat[0]!='0')
public int solve (String nums) {// write code hereint length=nums.length();int[] dp=new int[length+1];dp[0]=1;for(int i=1;i<=length;i++){if(nums.charAt(i-1)!='0')dp[i]+=dp[i-1];if(i>=2&&(nums.charAt(i-2)-'0')*10+(nums.charAt(i-1)-'0')>=10&&(nums.charAt(i-2)-'0')*10+(nums.charAt(i-1)-'0')<=26)dp[i]+=dp[i-2];}return dp[length];}
【动态规划】牛客网:把数字翻译成字符串相关推荐
- [剑指 offer] -- 动态规划-- 面试题46. 把数字翻译成字符串
1 题目描述 给定一个数字,我们按照如下规则把它翻译为字符串:0 翻译成 "a" ,1 翻译成 "b",--,11 翻译成 "l",--,2 ...
- 剑指 Offer 46. 把数字翻译成字符串(动态规划+回溯+递归 解法)
剑指 Offer 46. 把数字翻译成字符串 问题描述 给定一个数字,我们按照如下规则把它翻译为字符串:0 翻译成 "a" ,1 翻译成 "b",--,11 翻 ...
- 【LeetCode 剑指offer刷题】动态规划与贪婪法题3:剑指Offer-46:把数字翻译成字符串
给定一个数字,我们按照如下规则把它翻译为字符串:0翻译成"a",1翻译成"b",--,11翻译成"1",--,25翻译成"z&qu ...
- 动态规划之青蛙跳台阶的应用(把数字翻译成字符串)
剑指 Offer 46. 把数字翻译成字符串 题目描述 给定一个数字,我们按照如下规则把它翻译为字符串:0 翻译成 "a" ,1 翻译成 "b",--,11 翻 ...
- 【LeetCode】剑指 Offer 46. 把数字翻译成字符串
[LeetCode]剑指 Offer 46. 把数字翻译成字符串 文章目录 [LeetCode]剑指 Offer 46. 把数字翻译成字符串 package offer;public class So ...
- 【剑指Offer】个人学习笔记_46_把数字翻译成字符串
目录 题目: [剑指 Offer 46. 把数字翻译成字符串](https://leetcode-cn.com/problems/ba-shu-zi-fan-yi-cheng-zi-fu-chuan- ...
- 剑指offer46. 把数字翻译成字符串
剑指 Offer 46. 把数字翻译成字符串 难度:中等 给定一个数字,我们按照如下规则把它翻译为字符串:0 翻译成 "a" ,1 翻译成 "b",--,11 ...
- leetcode面试题46. 把数字翻译成字符串
leetcode面试题46. 把数字翻译成字符串 给定一个数字,我们按照如下规则把它翻译为字符串:**0 翻译成 "a" ,1 翻译成 "b",--,11 翻译 ...
- leetcode刷题-面试题46. 把数字翻译成字符串
面试题46. 把数字翻译成字符串 给定一个数字,我们按照如下规则把它翻译为字符串:0 翻译成 "a" ,1 翻译成 "b",--,11 翻译成 "l& ...
- leetcode-剑指 Offer 46. 把数字翻译成字符串
leetcode-剑指 Offer 46. 把数字翻译成字符串 给定一个数字,我们按照如下规则把它翻译为字符串:0 翻译成 "a" ,1 翻译成 "b",--, ...
最新文章
- Oracl 12c (课本)
- 扩增子分析神器USEARCH简介
- Python matplotlib可视化:用Matplotlib的bar_label函数为条形图添加数值标记(在每一个条形的外侧顶部)
- 最佳实践: 勿在 Servlet 中实现 SingleThreadModel
- appcon 图标打包
- MapReduce的编程规范
- android Instrumentation 转载
- MS SQL开发命名规则
- zz 聊聊并发(二)
- [Python] L1-008. 求整数段和-PAT团体程序设计天梯赛GPLT
- 动态爱心(C/C++)
- 无法导入 指定文件不是注册脚本 您在注册表编辑器中只能导入二进位注册文件.reg
- 【好文随记】牛人大学的感悟
- 车道线定位及拟合:直方图确定车道线位置
- 拒绝百万年薪的郭盛华,如今自立门户,再创辉煌!
- Android开发-高德地图导航
- python大气模型算法_[学习笔记][Python机器学习:预测分析核心算法][利用Python集成方法工具包构建梯度提升模型]...
- 【涂鸦物联网足迹】涂鸦云平台接口列表—万能红外遥控器
- 如何在谷歌浏览器内设置http代理?
- 匈牙利算法原理与Python实现