您的位置:首页 > 职场人生

JAVA经典面试题(三)--1~100共一百个自然数,放入一个99个元素的数组a[99],找出没有放入的那个元素

2017-04-11 15:39 761 查看
这答题有两个难点,第一个是怎么向有99个元素中插入不重复的1~100的自然数。第二个是程序优化,也就是1~100的自然数之和减去99个数组元素之和就是剩下的那个数。

int sumA = (1+100)*50;
int sumArr = 0;
int[] arr = new int[99];
for (int i = 0; i < 99; i++) {
arr[i] = (int) ((Math.random()*100)+1);
for (int j = 0; j < i; j++) {
if(arr[j]==arr[i]){
//如果随机生成的元素在数组中存在,则数组下标减一返回到此级重复判断
i--;
break;
}
}
}
for (int i = 0; i < arr.length; i++) {
sumArr+=arr[i];
System.out.print(arr[i]+",");
}
System.out.println(sumA-sumArr);


可以用 Set 容器实现这种功能 , Set 不会向集合加入重复元素
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  面试题
相关文章推荐