黑马程序员_JAVA题目_百度笔试题

来源:互联网 发布:商城网站jsp源码 编辑:程序博客网 时间:2024/06/05 06:08

------- android培训、java培训、期待与您交流! ----------

这三题是有人发在论坛分享出来的说是百度笔试题!

package cn.baidu;/** * 1:公司里面有1001个员工,现在要在公司里面找到最好的羽毛球选手,也就是第一名, * 每个人都必须参赛,问至少要比赛多少次才能够找到最好的羽毛球员工 * @author Jeffery * */public class Test11 {public static void main(String[] args) {int i = 0;while((2<<i)<1001) {i++;}System.out.println(i);}}

这一题,先前写的比较复杂,考虑了很多,最终觉得这样写简洁明了,说实话这题没怎么看懂!这个比赛次数,和比赛场数,搞不清楚区别!

/** * 2:现在有100个灯泡,每个灯泡都是关着的,第一趟把所有的灯泡灯泡打开, * 第二趟把偶数位的灯泡制反(也就是开了的关掉,关了的打开), * 第三趟让第3,6,9....的灯泡制反.......第100趟让第100个灯泡制反,问经过一百趟以后有多少灯泡亮着---- * @author Jeffery * */public class Test12 {/* * 1 灯开 * -1 灯关 */public static void main(String[] args) {int[] arr = new int[101];int temp = 1;int count = 0;for(int i = 1;i<=100; i++) {int j = i;while(j <= 100) {arr[j] = temp;j = j + i;}temp = temp * -1;}for(int i = 1; i<=100;i++) {if(arr[i] == 1)count ++;}System.out.println(count);}}
这一题挺多了,多数题大同小异!

package cn.baidu;/** * 3:有20个数组,每个数组有500个元素,并且是有序排列好的,现在在这20*500个数中找出排名前500的数 * @author Jeffery * */public class Test13 {public static void main(String[] args) {int[][] arr = new int[20][500];int t = 0;int sum = 0;for(int i = 0;i<arr.length;i++) {for(int j = 0;j<arr[i].length;j++) {sum = sum + 2;arr[i][j] = arr[i][j] +sum;}}while(t++<5)System.out.println(max(arr));}private static int max(int[][] arr) {int max = 0;int t1 = 0,t2 = 0;for(int i = 0;i<arr.length;i++) {for(int j = 0;j<arr[i].length;j++) {if(max < arr[i][j]) {max = arr[i][j];t1 = i;t2 = j;}}}arr[t1][t2] = 0;return max;}}
循环500次,每次返回一个最大值,并把最大值赋值为零,然后再找余下值的最大值,


------- android培训、java培训、期待与您交流! ----------
原创粉丝点击