public static getNUniqueNumbers(min, max, n) {
if (min > max) {
[min, max] = [max, min];
}
let range = max - min;
if (range <= n) {
return GameTool.getOrderArrByLen(range).map(item => { item + min })
}
let _arr = []
for (let i = 0; i < n; i++) {
let random = Math.floor(Math.random() * (range + 1))
if (_arr.indexOf(random + min) === -1) {
_arr.push(random + min)
} else {
let flag = true
while (flag) {
random++
if (random >= range) {
random = 0
}
if (_arr.indexOf(random + min) === -1) {
flag = false
_arr.push(random + min)
}
}
}
}
指定范围取n个不同的数
最后编辑于 :
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
推荐阅读更多精彩内容
- 1.当代种种事件不同于历史之处,在于我们不知道它们会产生什么后果。 2.经验和利益的偶然结合,往往会向人们揭示...
- 成长记录-连载(三十六) ——我的第一篇五千字长文,说了什么,你一定想不到 并不是不想每天写公众号,而是之前思考怎...
- java中如何生成指定区间内n个不同的随机数 实现方法: 先定义长度为n的数组,然后开始用while循环生成随机数...
- 【蝴蝶效应】 蝴蝶效应:上个世纪70年代,美国一个名叫洛伦兹的气象学家在解释空气系统理论时说,亚马逊雨林一只蝴蝶...
- 怎样反思自己的教学——学习杜威《我们怎样思维》有感 2015-01-13 14:56:52 来源:普宁市第三中学网...