查看原文
其他

【干货】10道经典的java算法之面试题

2017-04-14 androidstarjack 终端研发部
前言介绍

新的一天,祝大家工作愉快!

对于算法题,大家都很熟悉,无论在企业中还是在面试的时候,算法依然是考研我们的一个标准.

正文


根据实际情况,大家可能会认为 公司里几乎用不到算法。我觉得这种说法是片面的。我们在熟练写一段代码的时候,如果对其进行用优雅的方式实现出来,这就是算法。个人对算法的理解:

算法只是解决问题的一种方法,你需要解决什么问题就用到什么算法,没有种类之分。

1.题目(盛大无线面试题):在一个字符串数组中有红、黄、蓝三种颜色的球,且个数不相等、顺序不一致,请为该数组排序,使得排序后
  • 数组中球的顺序为:黄、红、蓝

  • 例如:红蓝蓝黄红黄蓝红红黄红 排序后为:黄黄黄红红红红红蓝蓝蓝



2.题目:取一个整数a从右端开始的4~7位。

程序分析:可以这样考虑:

  • (1)先使a右移4位。

  • (2)设置一个低4位全为1,其余全为0的数。可用(0 < <4)

  • (3)将上面二者进行&运算。

3.题目:打印出杨辉三角形(要求打印出10行如下图)

程序分析:

1

1 1

1 2 1

1 3 3 1

1 4 6 4 1

1 5 10 10 5 1


4.题目:输入3个数a,b,c,按大小顺序输出。

程序分析:利用指针方法。



5.题目:写一个函数,求一个字符串的长度,在main函数中输入字符串,并输出其长度。



6.题目:字符串排序。


7.题目:海滩上有一堆桃子,五只猴子来分。第一只猴子把这堆桃子凭据分为五份,多了一个,这只猴子把多的一个扔入海中,拿走了一份。第二只猴子把剩下的桃子又平均分成五份,又多了一个,它同样把多的一个扔入海中,拿走了一份,第三、第四、第五只猴子都是这样做的,问海滩上原来最少有多少个桃子?


8.新浪面试题:编写一个方法,计算一个字符串中,第一个不重复的字符在当前字符串中的索引。

分析 : 编写一个方法,计算一个字符串中,第一个不重复 的字符在当前字符串中的索引。


9.题目:求一个3*3矩阵对角线元素之和

1.程序分析:利用双重for循环控制输入二维数组,再将a[i][i]累加后输出。


10.题目:打印出所有的 "水仙花数 ",所谓 "水仙花数 "是指一个三位数,其各位数字立方和等于该数本身。例如:153是一个 "水仙花数 ",因为153=1的三次方+5的三次方+3的三次方。


如果你觉得此文对您有所帮助,欢迎入群 QQ交流群 :232203809   

微信公众号:终端研发部



            

Hello,伙伴们

长按二维码就可以关注我们啦


您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存