Advertisement

随机从0到m中选取n个不重复数字

阅读量:

m+1个数字中选择n个最优数字需要执行n次操作。每次操作前需先去除已经被选定过的数字(即通过将被选定的数字与数组最后一个元素进行交换位置的方式实现),以便在后续的操作中仅在未被选中的剩余数字范围内进行随机生成数值的选择。需要注意的是,在0\sim m-1(即m\geq n>0)范围内选择n个互不相同的数值时,则必须满足n\leq m这个条件。

复制代码
    package com.booy;
    
    import java.util.Random;
    
    public class RandomDemo {
    //从0-m-1中随机生成n个不重复数
    public static void main(String[] args) {
        random(10,10);
    }
    //随机生成不重复数算法
    public static void random(int m,int n){
        //定义m个数的数组
        int[] nums = new int[m];
        for (int i = 0; i <nums.length; i++) {
            nums[i] = i;
        }
        int temp = 0;

全部评论 (0)

还没有任何评论哟~