文档章节

生成不重复的随机数

开源中国首席大督查
 开源中国首席大督查
发布于 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
博文 7
码字总数 1924
作品 0
海淀
程序员
Random快速产生相同随机数的原因及解决方案

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

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

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

cnblogs
2011/03/26
0
0
.net中如何生成不重复的随机数

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

学习也休闲
2015/09/14
37
1
[随机数详解]生成一个随机数,生成指定范围的随机数及随机数组去重

写在前面: 很早之前在简书写过几篇关于随机数的文章之前写的很乱,现在重新整理一下这些知识点。本文包含了如下这些知识点: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

没有更多内容

加载失败,请刷新页面

加载更多

linux使用ntfs-3g操作ntfs格式硬盘

Linux内核目前只支持对微软NTFS文件系统的读取。 NTFS-3G 是微软 NTFS 文件系统的一个开源实现,同时支持读和写。NTFS-3G 开发者使用 FUSE 文件系统来辅助开发,同时对可移植性有益。 安装 ...

linuxprobe16
今天
1
0
kubeadm部署kubernetes集群

一、环境要求 这里使用RHEL7.5 master、etcd:192.168.10.101,主机名:master node1:192.168.10.103,主机名:node1 node2:192.168.10.104,主机名:node2 所有机子能基于主机名通信,编辑...

人在艹木中
今天
7
0
Shell特殊符号总结以及cut,sort,wc,uniq,tee,tr,split命令

特殊符号总结一 * 任意个任意字符 ? 任意一个字符 # 注释字符 \ 脱义字符 | 管道符 # #号后的备注被忽略[root@centos01 ~]# ls a.txt # 备注 a.txt[root@centos01 ~]# a=1[root@centos01...

野雪球
今天
3
0
OSChina 周二乱弹 —— 程序员圣衣

Osc乱弹歌单(2018)请戳(这里) 【今日歌曲】 @达尔文:分享Skeeter Davis的单曲《The End of the World》 《The End of the World》- Skeeter Davis 手机党少年们想听歌,请使劲儿戳(这里...

小小编辑
今天
18
0
[ python import module ] 导入模块

import moudle_name ----> import module_name.py ---> import module_name.py文件路径 -----> sys.path (这里进行查找文件) # from app.web import Personimport app.web.Person as Pe......

_______-
昨天
5
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部