标签:style blog color ar java for sp div log
* 已知一个数组int[98],该数组里面存储了0~99共100个数字中的98个,数字不重复,请用算法算出0~99中缺少的2个数字是哪两个?
* 要求:数组自己用程序生成,数值介于0~99,相互之间不重复
思路:
1.通过一个Set集合产生一个包含0~99的数组
2.移除2个元素后,把Set集合转成数组arr
3.对数组进行遍历比较,用标志flag判断缺少的2个数,否的话置为false。
4.定义一个临时list存放缺少的2个数
代码如下:
package com.itheima.bbs; import java.util.ArrayList; import java.util.List; import java.util.Set; import java.util.TreeSet; public class RandomArrayDemo { public static void main(String[] args) { //通过Set集合产生一个数组arr Set<Integer> treeSet = new TreeSet<Integer>(); for (Integer i = 0; i < 100; i++) { treeSet.add(i); } treeSet.remove(0); treeSet.remove(99); Integer[] arr = new Integer[treeSet.size()]; treeSet.toArray(arr); //对数组进行遍历,并和0~99之间的数比较 List list = new ArrayList();//临时容器,存放缺少的2个数 for (int i = 0; i < 100; i++) { boolean flag = false; for (int j = 0; j < arr.length; j++) { if (i == arr[j]) { flag = true; break; } } if (!flag) { list.add(i); } } System.out.println("缺少的两个数字是:" + list); } }
标签:style blog color ar java for sp div log
原文地址:http://www.cnblogs.com/Springtie/p/4070932.html