不重复随机数生成
来源:互联网 发布:优化电脑最好的软件 编辑:程序博客网 时间:2024/05/16 15:01
算法总体思路是:初始化一个存有整型0~N的数组,然后生成随机数作为索引取一个数组元素,将数组末尾的元素赋值给取走的位置,生成随机数上限减一,循环,可以保证取不到相同的数值。
public int[] get_randam(int N, int k) { int[] index = new int[N]; for (int i = 0; i < N; i++) index[i] = i; Random r = new Random(); //用来保存随机生成的不重复的k个数 int[] result = new int[k]; int site = N;//设置下限 int id; for (int j = 0; j < k; j++) { id = r.Next(1, site - 1); //在随机位置取出一个数,保存到结果数组 result[j] = index[id]; //最后一个数复制到当前位置 index[id] = index[site - 1]; //位置的下限减少一 site--; } return result; }
0 0
- 生成不重复随机数
- 生成不重复随机数
- 生成不重复随机数
- 不重复随机数生成
- 不重复随机数生成
- 生成不重复的随机数
- 生成不重复的随机数
- 生成不重复随机数 asp
- 生成不重复的随机数
- java 不重复随机数生成
- 生成不重复的随机数
- oracle生成不重复随机数
- 生成不重复的随机数
- ios 生成不重复随机数
- 生成不重复的随机数
- java生成不重复随机数
- Go生成不重复随机数
- JavaScript生成不重复随机数
- couldn't setup local SOCKS5 proxy on port 7777: Address already in use: JVM_Bind
- Android四大组件之Service详解
- <LeetCode OJ> 205. Isomorphic Strings
- 【d3.js教程12】地图
- java环形打印二维数组
- 不重复随机数生成
- 机器学习系列(2)_从初等数学视角解读逻辑回归
- spring整合hibernate时lazy加载失败问题
- linux su和sudo命令的区别
- iOS延迟执行的三种方法
- Ⅰ.18.3 如何在AUT中使用测试数据
- XML和JSON的区别
- ios代理传值
- Android代码内存优化建议-Android资源篇