问题: 给出一个整型数组,以及数组的最大值max和最小值min,写一个函数产生一个在【min,max】范围内的随机数,该随机数并不在数组里。假设总能找到该随机数。
思路: 产生随机数,对数组排序,二分查找。
java代码:
void numInRange(int[] intList,int min,int max){
Arrays.sort(intList);
int range=max-min;
Random rand=new Random();
int result=rand.nextInt(range)+min;
//二分查找
while(Arrays.binarySearch(intList,result)>=0){
result=rand.nextInt(range)+min;
}
System.out.println(result);
}