问题描述:希望返回一个数组,随机产生n个数,这n个数都不大于a。,并且这n个数都不重复。
/**
* 返回一个在length范围内的随机整数。随机整数个数为count.
* */
public static List<Integer> getRandIntegers(Integer length,Integer count){
Random rand = new Random();
List<Integer> ints = new ArrayList<Integer>();
int size = 10000;
for(int i=0;i<size;i++){
int temp = rand.nextInt(length);
if(!ints.contains(temp)){
ints.add(temp);
}
if(ints.size()==count){
return ints;
}
}
return null;
}
目前有局限性。因为随机数长度不能大于10000.小数字范围内可以用,时间限制先用这个。想出更好的办法了再解决