我产生的随即数字是这样的 
1,5,7,8,12,13 
然后我想得到的结果是 
1,5,8,12 
就是我得到的第一个数字保留,每个数字的间距大于2的则保留,其他的删掉
应该怎么实现啊,我想不出好的办法来,谢谢各位大侠了! 
有好心人,给个你们实现的代码哦,大家共同进步 

解决方案 »

  1.   

    int[] arr = new int[]{1,5,7,8,12,13};
    List<Integer> result = new ArrayList<Integer>();
    int temp;
    result.add(arr[0]);
    temp = arr[0];
    for(int i = 0; i < arr.length; i++){
       if(arr[i] > temp + 2){
         result.add(arr[i]);
         temp = arr[i];
       }
    }
    System.out.println(Arrays.asList(result));
      

  2.   

    如果需要先产生一系列随机数,然后再筛选,那就把这些数保存在链式结构中(如LinkedList)
    如果是产生一个筛选一个,那就好办多了,符合的就保留,不符合就不要