java 随机指定范围内且生成不重复的数
2017-10-25 00:00
423 查看
/** * 随机指定范围内N个不重复的数 在初始化的无重复待选数组中随机产生一个数放入结果中, * 将待选数组被随机到的数,用待选数组(len-1)下标对应的数替换 然后从len-2里随机产生下一个随机数,如此类推 * @param max 指定范围最大值 * @param min 指定范围最小值 * @param n 随机数个数 * @return int[] 随机数结果集 */ public static int[] randomArray(int min, int max, int n) { int len = max - min + 1; if (max < min || n > len) { return null; } // 初始化给定范围的待选数组 int[] source = new int[len]; for (int i = min; i < min + len; i++) { source[i - min] = i; } int[] result = new int ; Random rd = new Random(); int index = 0; for (int i = 0; i < result.length; i++) { // 待选数组0到(len-2)随机一个下标 index = Math.abs(rd.nextInt() % len--); // 将随机到的数放入结果集 result[i] = source[index]; // 将待选数组中被随机到的数,用待选数组(len-1)下标对应的数替换 source[index] = source[len]; } return result; }
相关文章推荐
- 生成指定范围内无重复的随机乱序数组(JAVA实现/时间复杂度为O(n))
- java生成指定个数及区间范围的不重复随机数存入数组中
- js生成指定范围内指定长度随机不重复的字符串数组
- java生成指定范围的随机日期
- 用Java打印指定范围内随机书的生成
- Java编程实现从给定范围内随机N个不重复数生成随机数的方法小结
- java随机抽取指定范围不重复的数字
- java随机抽取指定范围内不重复的n个数
- java 生成指定范围的随机日期
- 算法--生成m个指定范围的不重复随机数的三种方法分析(Java实现)
- Lua在给定范围内,生成指定个数不重复随机数组
- 【Java】随机生成范围[min,max]之间的整数数组,且元素值不重复
- python 指定范围内随机生成不重复的n个数
- java随机抽取指定范围内不重复的n个数
- java生成随机不重复的四位数
- java生成指定范围的随机数
- java 无重复生成一个范围内的随机数
- Delphi 中生成指定范围不重复的随机数
- java生成指定范围随机数的多种代码
- java生成指定范围的随机数