package 剑指Offer;public class LeetCode46_把数字翻译成字符串 {public static void main(String[] args) {//给定一个数字,我们按照如下规则把它翻译成字符串:0->a 1->b ... 25->z。问一个数字可能有多少种翻译?int n=12258;System.out.println(getTranslationCount(n));}//功能函数部分public static  int getTranslationCount(int n){//思路:例如给定12258为例 我们有两种不同的选择来翻译第一个数字1,。第一种选择是数字1单独翻译成b 或者和第2个数字一起翻译,如果两者合并>=10&&<=25的话//剩下的就是对后面的进行递归//我们使用f(i)来表示第i位数字开始的不同翻译的数目。f(i)=f(i+1)+g(i,i+1)*f(i+2)。当两者合并满足翻译条件时 g(i,i+1)=1,否则为0if(n<0) return 0;String ns=String.valueOf(n);return translation(ns);}public static  int translation(String ns){int len=ns.length();int [] sum=new int[ns.length()];int count=0;//从后往前递归查找for(int i=ns.length()-1;i>=0;i--){//如果当前处理的不是最后一位count=0;if(i<ns.length()-1){count=sum[i+1];}else{//最后一个count=1;}//两位数可以合并if(i<ns.length()-1){//合并int first=ns.charAt(i)-'0';int second=ns.charAt(i+1)-'0';int combine=first*10+second;//判断合并后的数字if(combine>=10&&combine<=25){if(i<ns.length()-2){//位于倒数第二位左边count+=sum[i+2];}else{count+=1;}}}sum[i]=count;}return sum[0];}
}

剑指Offer_46 把数字翻译成字符串相关推荐

  1. leetcode 剑指offer-46.把数字翻译成字符串

    原题如下: 剑指offer-46.把数字翻译成字符串 2020年6月9日 每日一题 题解 方法一: 当我们考虑单个数字的时候,就只有一种翻译的结果,重要的是,我们遇到连续两个字母也可以翻译成字母,那么 ...

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

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

  3. 剑指Offer46——把数字翻译成字符串

    [写在前面]:这道题并不难,但看到题解,发现,自己的代码略显笨拙啊,优秀大佬解题真的高,代码清晰明了,纪念一下差距感(自己递归,回溯还有待加强训练) 原题链接: 剑指 Offer 46. 把数字翻译成 ...

  4. 剑指offer.把数字翻译成字符串

    题目: 给定一个数字,我们按照如下规则把他翻译成字符串:0翻译成a,1翻译成b--11翻译成l,--25翻译成z,一个数有多种翻译方法,可以把一个数里面的数字看作一位,也可以是两位. 思路: 这个题最 ...

  5. 把数字翻译成字符串python_剑指offer-46把数字翻译成字符串-python

    <剑指offer>python实现系列,全目录 题目描述: 给定一个数字,我们按照如下规则把它翻译为字符串:0翻译成"a",1翻译成"b",--,2 ...

  6. 剑指 Offer把数字翻译成字符串

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

  7. 【java】剑指offer46_把数字翻译成字符串

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

  8. 剑指offer把数字翻译成字符串

    文章目录 一.先介绍一下青蛙跳台阶 二.本题思路及代码 总结 题目: 给定一个数字,我们按照如下规则把它翻译为字符串:0 翻译成 "a" ,1 翻译成 "b", ...

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

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

  10. 【算法】剑指 Offer 46. 把数字翻译成字符串

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

最新文章

  1. Docker的安装和版本详细介绍
  2. 怎么用linux设计一个小程序,“Linux”小程序发布一个月后,我们发现了什么
  3. python基础教程:filter(),map()函数用法
  4. 自定义ArrayList
  5. 博客园是个大金矿,管理员不挖掘有些可惜:给博客园提一些双赢的建议
  6. PhantomJS 一个隐形的浏览器
  7. android正则判断两个符号之间,Android字母、数字、字符任意两种组合正则验证
  8. 谁在窥屏_TheShy直播被窥屏搞怕了,为了防止被窥屏,这个做法绝了
  9. 已知a类被打包在packagea_2021考研干货:199管理类联考综合逻辑归纳习题(1)
  10. CLR读书笔记--第三章 共享程序集和强命名程序集
  11. Cisco模拟器DHCP详细教程
  12. C语言基础知识(学习笔记)
  13. python上传百度云_python通过百度云api的方式上传或下载文件
  14. 腾讯云 接口验签 使用qcloud-java-sdk
  15. JS实现二叉树添加节点,删除节点操作
  16. 【元胞自动机】基于元胞自动机的人口疏散仿真matlab源码
  17. 打印出js对象里面的内容
  18. HAL库开发—基于stm32的智能小家电
  19. dfa 识别 正则表达式 0(0|1)*101
  20. java around_java - 使用Spring AOP时,在单个连接点上具有参数绑定的多个Around建议会导致错误 - 堆栈内存溢出...

热门文章

  1. Compose Modifier修饰符详细解说
  2. EXCEL单元格换行操作
  3. babel-polyfill解决vue框架项目IE无法打开问题
  4. XMLHTTP的ReadyState与Statu详解
  5. Cocos Creator人物血条渐变舒缓实现
  6. mysql 锁级别说明 一
  7. 轻流入选|国际权威研究机构「2021年低代码平台中国市场现状分析报告」发布
  8. Android 仿微信通讯录功能,好友排序 + 字母索引
  9. 最新Centos7.6 部署ELK日志分析系统
  10. 你已经长大了,寄几的日志要寄几处理