JAVA经典面试题(三)--1~100共一百个自然数,放入一个99个元素的数组a[99],找出没有放入的那个元素
2017-04-11 15:39
761 查看
这答题有两个难点,第一个是怎么向有99个元素中插入不重复的1~100的自然数。第二个是程序优化,也就是1~100的自然数之和减去99个数组元素之和就是剩下的那个数。
可以用 Set 容器实现这种功能 , Set 不会向集合加入重复元素
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 不会向集合加入重复元素
相关文章推荐
- 1.1至100一百个自然数(无序),放入一个99个元素的数组a[99],用java语言编写一段程序,找出没有被放入数组这个数。【转】
- Java面试题:1-100之间的数,被放在数组a[99]中,有一个数没有包含在其中,用java代码找出这个数
- Java面试题:1-100之间的数,被放在数组a[99]中,有一个数没有包含在其中,用java代码找出这个数
- Java面试题:1-100之间的数,被放在数组a[99]中,有一个数没有包含在其中,用java代码找出这个数
- Java面试题:1-100之间的数,被放在数组a[99]中,有一个数没有包含在其中,用java代码找出这个数
- Java面试题:1-100之间的数,被放在数组a[99]中,有一个数没有包含在其中,用java代码找出这个数
- loner_li 机试题 现有1~100共一百个自然数,已随机放入一个有98个元素的数组a[98]。
- 1到100,放在长度99的数组里,有一个没有在里面,编程找出那个数
- 1到100,放在长度99的数组里,有一个没有在里面,编程找出那个数
- 数组有100个元素,设为数组a[100],存放1-100的数值,但是现在有一个数值重复了,只扫描一遍数组,找出那个重复的数
- java找出一个数组中出现次数最多且最大的那个元素
- 有个数组a[100]存放了100个数,这100个数取自1-99,且只有两个相同的数,剩下的98个数不同,写一个搜索算法找出相同的那个数的值.(注意空间效率时间效率尽可能要低)
- java找出一个数组中出现次数最多的那个元素
- java找出一个数组中出现次数最多的那个元素(用HashSet很新颖)
- 面试题:在一个数组中有0-99之间的整数101个(数组无序),用高效方法找出其中的唯一的重复元素!
- java找出一个数组中出现次数最多的那个元素
- 【java 面试100】14.输入一个已经按升序排序过的数组和一个数字, 在数组中查找两个数,使得它们的和正好是输入的那个数字
- java 实现从无序数组中 找出第k大的数, 无序数组充许有重复元素
- 面试题——找出数组中不相同的所有元素(是数组,不是集合)
- 程序员面试题精选100题(42)-旋转数组的最小元素