本人还未毕业,在郑州找了一家公司,笔试面试题有一道题是:
1.找出数组中不重复的一个数字,题目大致是这样的
int[] a = { 1, 2, 3, 4, 3, 2, 1 };
我给出的解决办法是:
public static int getNoRepeat() { int[] a = { 1, 2, 3, 4, 3, 2, 1 }; for (int i = 0; i < a.length; i++) { int b = 0; for (int j = 0; j < a.length; j++) { if (a[i] == a[j]) { b++; } } if (b == 1) { return a[i]; } } return 0; }
思路就是,从数组的第一个数字和数组中的每一个数字做对比,如果相同的次数等于2就是重复的,等于1就是不重复的。
如果要找出重复的数字,只需要把b==1换成b==2即可
这个是可以求出来的,本人的水平不高,面试官给了一个类似什么char的,一行代码就搞定了,看的我蒙蔽,也没有记住,这道答案给那些和我一样的同样找工作的人,如果有大神有更好的答案,非常欢迎留言答案,我在网上没有找到类似的答案