文档章节

生成不重复的随机数

开源中国首席大督查
 开源中国首席大督查
发布于 2017/08/31 09:09
字数 200
阅读 4
收藏 0
import java.util.Arrays;

/**
 * [@author](https://my.oschina.net/bluell) 
 */
public class RandomUtil {
    public static int[] generate(int min, int max, int size) {
        if (min > max || max - min + 1 < size) {
            return new int[0];
        }
        int[] result = new int[size];
        int[] resource = new int[max];

        for (int i = min; i <= max; i++) {
            Arrays.fill(resource, i - 1, i, i);
        }

        for (int i = 0; i < result.length; i++) {
            int random = (int) (Math.random() * max);
            result[i] = resource[random];
            resource[random] = resource[max - 1];
            max--;
        }
        return result;
    }

    public static void main(String[] args) {
        //1-100,生成10个随机数
        Arrays.stream(generate(1, 100, 10)).forEach(System.out::println);
    }
}

© 著作权归作者所有

共有 人打赏支持
开源中国首席大督查
粉丝 1
博文 6
码字总数 1588
作品 0
海淀
程序员
Random快速产生相同随机数的原因及解决方案

老生常谈,还是那三句话: 学历代表你的过去,能力代表你的现在,学习代表你的将来 十年河东,十年河西,莫欺少年穷 学无止境,精益求精 问题描述:很多时候我们可能需要在极短的时间内生成大...

天才小龙
01/05
0
0
ASP中Randomize随机函数的使用

Randomize 初始化随机数生成器。 Randomize [number] number 参数可以是任何有效的数值表达式。 说明 Randomize 使用 number 参数初始化 Rnd 函数的随机数生成器,赋给它新的种子值。如果省略...

cnblogs
2011/03/26
0
0
[随机数详解]生成一个随机数,生成指定范围的随机数及随机数组去重

写在前面: 很早之前在简书写过几篇关于随机数的文章之前写的很乱,现在重新整理一下这些知识点。本文包含了如下这些知识点:js生成随机数,生成指定范围的随机数,获得不重复随机数组。 js...

OB丶Koro1
2017/05/09
0
0
c#随机产生不重复数组

在.NET技术 C#区看到一个小问题:从1,50随机20个不重复数。 问题不复杂,提问者其实已经有了自己的答案,但他似乎觉得答案不太理想。 ArrayList list =new ArrayList(); int k =0; do { k =r...

awbeci
2011/04/14
0
0
.net中如何生成不重复的随机数

.net中生成不重复的随机数的方法 //获取count个不大于maxNumber的整数,所有整数不重复。当然,count必须小于等于maxNumber static List<int> GetRandomArray(int maxNumber,int count) { Li...

学习也休闲
2015/09/14
37
1

没有更多内容

加载失败,请刷新页面

加载更多

下一页

python3.6 取余运算

python中取余运算逻辑如下: 如果a 与d 是整数,d 非零,那么余数 r 满足这样的关系: a = qd + r , q 为整数,且0 ≤ |r| < |d|。 经过测试可发现,python3.6中取余运算得到的 r 是正整数;...

colinux
15分钟前
1
0
[雪峰磁针石博客]软件测试专家工具包1web测试

web测试 本章主要涉及功能测试、自动化测试(参考: 软件自动化测试初学者忠告) 、接口测试(参考:10分钟学会API测试)、跨浏览器测试、可访问性测试和可用性测试的测试工具列表。 安全测试工具...

python测试开发人工智能安全
今天
3
0
JS:异步 - 面试惨案

为什么会写这篇文章,很明显不符合我的性格的东西,原因是前段时间参与了一个面试,对于很多程序员来说,面试时候多么的鸦雀无声,事后心里就有多么的千军万马。去掉最开始毕业干了一年的Jav...

xmqywx
今天
3
0
Win10 64位系统,PHP 扩展 curl插件

执行:1. 拷贝php安装目录下,libeay32.dll、ssleay32.dll 、 libssh2.dll 到 C:\windows\system32 目录。2. 拷贝php/ext目录下, php_curl.dll 到 C:\windows\system32 目录; 3. p...

放飞E梦想O
今天
1
0
谈谈神秘的ES6——(五)解构赋值【对象篇】

上一节课我们了解了有关数组的解构赋值相关内容,这节课,我们接着,来讲讲对象的解构赋值。 解构不仅可以用于数组,还可以用于对象。 let { foo, bar } = { foo: "aaa", bar: "bbb" };fo...

JandenMa
今天
2
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部