经典干货JAVA面试精选之Java算法与编程 | 超详细的代码解析
Posted Java我最强
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了经典干货JAVA面试精选之Java算法与编程 | 超详细的代码解析相关的知识,希望对你有一定的参考价值。
作者 | elysee
编辑 | Sandra
原文 | http://www.cnblogs.com/hnlshzx/p/3496631.html
Ja强最新动态
在面试中,算法题目是必须的,通过算法能够看出一个程序员的编程思维,考察对复杂问题的设计与分析能力,对问题的严谨性都能够体现出来。算法是一系列解决问题的清晰指令,也就是说,能够对一定规范的输入,在有限时间内获得所要求的输出。算法常常含有重复的步骤和一些比较或逻辑判断。如果一个算法有缺陷,或不适合于某个问题,执行这个算法将不会解决这个问题。不同的算法可能用不同的时间、空间或效率来完成同样的任务。一个算法的优劣可以用空间复杂度与时间复杂度来衡量。一个算法的好坏,直接影响一个方法调用的性能,进而影响软件的整体性能。
6、从类似如下的文本文件中读取出所有的姓名,并打印出重复的姓名和重复的次数,并按重复次数排序:
1,张三,28
2,李四,35
3,张三,28
4,王五,35
5,张三,28
6,李四,35
7,赵六,28
8,田七,35
答:程序代码如下(答题要博得用人单位的喜欢,包名用该公司,面试前就提前查好该公司的网址,如果查不到,现场问也是可以的。还要加上实现思路的注释):
7、写一个Singleton出来。
答:第一种:饱汉模式
第二种:饥汉模式
第三种:用枚举
第三:更实际的应用(在什么情况用单例)
第四:
Singleton模式主要作用是保证在Java应用程序中,一个类Class只有一个实例存在。
一般Singleton模式通常有几种种形式:
第一种形式: 定义一个类,它的构造函数为private的,它有一个static的private的该类变量,在类初始化时实例话,通过一个public的getInstance方法获取对它的引用,继而调用其中的方法。
第二种形式:
其他形式:
定义一个类,它的构造函数为private的,所有方法为static的。
一般认为第一种形式要更加安全些
8、递归算法题1
一个整数,大于0,不用循环和本地变量,按照n,2n,4n,8n的顺序递增,当值大于5000时,把值按照指定顺序输出来。
例:n=1237
则输出为:
1237,
2474,
4948,
9896,
9896,
4948,
2474,
1237,
提示:写程序时,先致谢按递增方式的代码,写好递增的以后,再增加考虑递减部分。
答:
9、递归算法题2
第1个人10,第2个比第1个人大2岁,依次递推,请用递归方式计算出第8个人多大?
答:
10、排序都有哪几种方法?请列举。用JAVA实现一个快速排序。
答:本人只研究过冒泡排序、选择排序和快速排序,下面是快速排序的代码:
11、有数组a[n],用java代码将数组元素顺序颠倒。
答:
12.金额转换,阿拉伯数字的金额转换成中国传统的形式如:(¥1011)->(一千零一拾一元整)输出。
答:去零的代码:
Java我最强
关心Java人成长的技术内容社区
快速关注
以上是关于经典干货JAVA面试精选之Java算法与编程 | 超详细的代码解析的主要内容,如果未能解决你的问题,请参考以下文章
字节跳动Java面试题精选——算法与数据结构「跳槽面试必备」
Java面试逐个突破:OOP(面向对象编程)精选面试108题(附答案)