本人还未毕业,在郑州找了一家公司,笔试面试题有一道题是:
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的,一行代码就搞定了,看的我蒙蔽,也没有记住,这道答案给那些和我一样的同样找工作的人,如果有大神有更好的答案,非常欢迎留言答案,我在网上没有找到类似的答案