黑马程序员技术交流社区

标题: 实在没思路啊。。。 [打印本页]

作者: code_linux    时间: 2015-8-20 21:10
标题: 实在没思路啊。。。
0-99共100个整数,放到一个数组中,位置是随机的将其中一个数37,挑出来,
        换成不是这个数字的另一个数45,(意思就是说 现在0-99这100个数中 37是重复的,而45呢有两个)
        这100个数里面有一个数字是重复的,还有一个数字是没有的,将这个重复的数字找出来,用最快的方式
作者: shdosh    时间: 2015-8-20 21:14
你的意思是长100的整型数组里面,一开始都不是重复的,把37换成45,最终数组没有37,而45是重复的吗?
作者: code_linux    时间: 2015-8-20 21:17
shdosh 发表于 2015-8-20 21:14
你的意思是长100的整型数组里面,一开始都不是重复的,把37换成45,最终数组没有37,而45是重复的吗? ...

也可以这么理解,,也许它这个题本身就说的不是很明白。。这个数组中的元素被打乱了,因为必须是随机的
作者: shdosh    时间: 2015-8-20 21:40
  1. import java.util.*;
  2. class NumbSet
  3. {
  4.         public static void main(String[] args)
  5.         {
  6.                 HashSet<Integer> arrSet = new HashSet<Integer>();

  7.                 for(int i =0 ;i<100;i++){
  8.                         arrSet.add(new Integer(i));
  9.                 }

  10.                 Iterator<Integer> it = arrSet.iterator();
  11.                
  12.                 int[] arr = new int[100];
  13.                 int i=0;
  14.                 while(it.hasNext()){
  15.                         Integer intnum = it.next();

  16.                         arr[i] = intnum.intValue();
  17.                         i++;
  18.                 }
  19.                 for(i=0;i<100;i++){
  20.                         System.out.print(arr[i]+" ");
  21.                 }
  22.                 System.out.println();
  23.                 for(i=0;i<100;i++){
  24.                         if(arr[i]==37)
  25.                                 arr[i]=45;
  26.                 }
  27.                 for(i=0;i<100;i++){
  28.                         System.out.print(arr[i]+" ");
  29.                 }
  30.         }
  31. }
复制代码

加入就是那个意思的话,我这么弄下应该可以。存入Set的元素是无顺序的,取出后生成数组也是无需的。不知道行不行。
作者: sven556677    时间: 2015-8-20 23:02
shdosh 发表于 2015-8-20 21:40
加入就是那个意思的话,我这么弄下应该可以。存入Set的元素是无顺序的,取出后生成数组也是无需的。不知道 ...

感觉你这只是构造了一个数组啊,并没有找出是哪个数字是重复的啊。
作者: sven556677    时间: 2015-8-20 23:06
一下也想不出什么好的算法,硬要面试碰到了就暴力破解法,一个个试咯
两层循环,第一层循环取数组里的从第一个元素开始的元素,第二层循环把它依次和后面的比,相等就return咯。




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2