有一种将字母编码成数字的方式:'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];}

【动态规划】牛客网:把数字翻译成字符串相关推荐

  1. [剑指 offer] -- 动态规划-- 面试题46. 把数字翻译成字符串

    1 题目描述 给定一个数字,我们按照如下规则把它翻译为字符串:0 翻译成 "a" ,1 翻译成 "b",--,11 翻译成 "l",--,2 ...

  2. 剑指 Offer 46. 把数字翻译成字符串(动态规划+回溯+递归 解法)

    剑指 Offer 46. 把数字翻译成字符串 问题描述 给定一个数字,我们按照如下规则把它翻译为字符串:0 翻译成 "a" ,1 翻译成 "b",--,11 翻 ...

  3. 【LeetCode 剑指offer刷题】动态规划与贪婪法题3:剑指Offer-46:把数字翻译成字符串

    给定一个数字,我们按照如下规则把它翻译为字符串:0翻译成"a",1翻译成"b",--,11翻译成"1",--,25翻译成"z&qu ...

  4. 动态规划之青蛙跳台阶的应用(把数字翻译成字符串)

    剑指 Offer 46. 把数字翻译成字符串 题目描述 给定一个数字,我们按照如下规则把它翻译为字符串:0 翻译成 "a" ,1 翻译成 "b",--,11 翻 ...

  5. 【LeetCode】剑指 Offer 46. 把数字翻译成字符串

    [LeetCode]剑指 Offer 46. 把数字翻译成字符串 文章目录 [LeetCode]剑指 Offer 46. 把数字翻译成字符串 package offer;public class So ...

  6. 【剑指Offer】个人学习笔记_46_把数字翻译成字符串

    目录 题目: [剑指 Offer 46. 把数字翻译成字符串](https://leetcode-cn.com/problems/ba-shu-zi-fan-yi-cheng-zi-fu-chuan- ...

  7. 剑指offer46. 把数字翻译成字符串

    剑指 Offer 46. 把数字翻译成字符串 难度:中等 给定一个数字,我们按照如下规则把它翻译为字符串:0 翻译成 "a" ,1 翻译成 "b",--,11 ...

  8. leetcode面试题46. 把数字翻译成字符串

    leetcode面试题46. 把数字翻译成字符串 给定一个数字,我们按照如下规则把它翻译为字符串:**0 翻译成 "a" ,1 翻译成 "b",--,11 翻译 ...

  9. leetcode刷题-面试题46. 把数字翻译成字符串

    面试题46. 把数字翻译成字符串 给定一个数字,我们按照如下规则把它翻译为字符串:0 翻译成 "a" ,1 翻译成 "b",--,11 翻译成 "l& ...

  10. leetcode-剑指 Offer 46. 把数字翻译成字符串

    leetcode-剑指 Offer 46. 把数字翻译成字符串 给定一个数字,我们按照如下规则把它翻译为字符串:0 翻译成 "a" ,1 翻译成 "b",--, ...

最新文章

  1. Oracl 12c (课本)
  2. 扩增子分析神器USEARCH简介
  3. Python matplotlib可视化:用Matplotlib的bar_label函数为条形图添加数值标记(在每一个条形的外侧顶部)
  4. 最佳实践: 勿在 Servlet 中实现 SingleThreadModel
  5. appcon 图标打包
  6. MapReduce的编程规范
  7. android Instrumentation 转载
  8. MS SQL开发命名规则
  9. zz 聊聊并发(二)
  10. [Python] L1-008. 求整数段和-PAT团体程序设计天梯赛GPLT
  11. 动态爱心(C/C++)
  12. 无法导入 指定文件不是注册脚本 您在注册表编辑器中只能导入二进位注册文件.reg
  13. 【好文随记】牛人大学的感悟
  14. 车道线定位及拟合:直方图确定车道线位置
  15. 拒绝百万年薪的郭盛华,如今自立门户,再创辉煌!
  16. Android开发-高德地图导航
  17. python大气模型算法_[学习笔记][Python机器学习:预测分析核心算法][利用Python集成方法工具包构建梯度提升模型]...
  18. 【涂鸦物联网足迹】涂鸦云平台接口列表—万能红外遥控器
  19. 如何在谷歌浏览器内设置http代理?
  20. 匈牙利算法原理与Python实现

热门文章

  1. 类似腾讯手机管家应用android源码
  2. memcached +mysql+php 测试例子
  3. 基于Jquery的图片自动分组且自适应页面的缩略图展示特效
  4. EDUCoder编程练习题解(一维数组和二维数组)
  5. Gibbs 采样定理的若干证明
  6. matlab figure 调整大小、字体、线宽
  7. 调制:调幅(AM)与调频(FM)
  8. windows 画图工具 —— mspaint 的使用
  9. Python debug——TypeError: unhashable type(list/set/dict)
  10. 算法——动态规划算法求解字符串的编辑距离