java -----------------LeetCode——电话号码的字母组合
回溯算法是不是很是陌生啊,我敢开始也是一脸你蒙蔽,后来我终于忍不住了,就去查查什么是回溯,原来是这个情况,回溯和递归有点类似,但是又不是递归,比如我现在计算数据从0开始到2,当到达状态值2我就回溯,我从1开始回溯,我在回到0,就是for循环我不按套路从小到打,去输出了,我采用回溯,
public class Main { public static void main(String[] args) { List<String> stringList = begin("23"); System.out.println(stringList.toString()); } // 定义每个数字对应的字符 static String[] a = new String[] {"","","abc","def", "ghi","jkl","mno","pqrs","tuv","wxyz"}; // 这个是输出的字符串 static StringBuffer sb = new StringBuffer(); private static List<String> begin(String str) { if (str.length() == 0) { return null; } List<String> result = new ArrayList<>(15); zihe(str,0,result); return result; } private static void zihe(String str, int n, List<String> result) { if (n == str.length()) { result.add(sb.toString()); return; } for (int i = 0; i < a[str.charAt(n)-'0'].length(); i++) { sb.append(a[str.charAt(n)-'0'].charAt(i)); zihe(str, n + 1, result); sb.deleteCharAt(sb.length() - 1); } } }
低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
Shell脚本-控制多主机操作
环境介绍 首先要做到各个主机之间无密ssh连接。这样会最大可能方便的控制。 脚本 命名为status #!/bin/bash params=$@ i=166 for((i=166;i<=169;i++));do echo -------s$i $params ------- ssh s$i "$params" done 测试 [root@s166 bin]# status java -version -------s166 java -version ------- bash: java: command not found -------s167 java -version ------- bash: java: command not found -------s168 java -version ------- bash: java: command not found -------s169 java -version ------- bash: java: command not found What?就给我看这个,它找不到这个命令,那我把它放到/usr/local/b...
- 下一篇
UML学习小结
UML就是要把程序工程以最直观的方式显示给人们(同事)看,其规定的图形表示及线条连接方式等是为了作为统一,让学习了UML的人都能懂得其表达的意思。 UML构成时,如果项目越大,图示效果就变得越差,可以使用ref形式将模块单独再另在其他图纸上具体展示面向对象编程是一项很繁琐的工作,往往要涉及到许多模块,而在将编程实现前首先需要对一个项目需求进行分析,而可以把分析内容形象表示出来的就是@OOA用例图,(比如一个表示客户实体的图片图标要在系统上做什么操作,怎么做?执行了某操作后程序哪些模块主要履行职能,这又会使用到时序图和流程图@(表示哪些包或者具体的Servlet执行这段操作))当使用具象的图形记录并阐述出来后,也就是OOD的工作(面向对象设计),这样的话:【1】可以记录程序设计的概览或具体描绘。【2】当需要修改时更利于整体的观察和修改。【3】说白了UML还是属于思维导图的一种,思维导图能提高工作效率,提进学习进度等一系列优势,UML同样具备这样的好处。【4】当画的逐渐多起来,它会在你脑海中产生那么一个景象,从而更加快捷和整体得看待一个事物(特指程序)好了,一般OOA(面向对象分析),OO...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- Eclipse初始化配置,告别卡顿、闪退、编译时间过长
- Mario游戏-低调大师作品
- 2048小游戏-低调大师作品
- SpringBoot2初体验,简单认识spring boot2并且搭建基础工程
- SpringBoot2编写第一个Controller,响应你的http请求并返回结果
- SpringBoot2整合MyBatis,连接MySql数据库做增删改查操作
- SpringBoot2整合Thymeleaf,官方推荐html解决方案
- Red5直播服务器,属于Java语言的直播服务器
- 设置Eclipse缩进为4个空格,增强代码规范
- CentOS8安装MyCat,轻松搞定数据库的读写分离、垂直分库、水平分库