美文网首页入门级编程与数学
【专题】随机不重复原理

【专题】随机不重复原理

作者: Xplorist | 来源:发表于2017-03-27 19:55 被阅读8次

随机不重复原理:

重要思路,通过设置标志判断重复,达到不重复。
判断重复,直接通过改变多个元素为一个标志,则能够简单实现重复判断。
这个思路其实在前面做棋盘中的随机位置的时候就已经有过相似的思路,只是自己不会 触类旁通 举一反三。

核心思路:将已经用过的数设置为一个二分判断的标志,类似于boolean类型的是和否。

题目:

生成一个0~9间的随机不重复数组

package com.share.demo03_27;

import java.util.Arrays;

/**
 * 生成一个0~9的顺序随机不重复数组<br>
 * 思路:<br>
 * 两个数组,<br>
 * 一个存储0~9的顺序不随机不重复数组<br>
 * 一个存储0~9的顺序随机不重复数组,这是需要得到的结果<br>
 * <p>
 * 随机数是第一个数组的下标,取出第一个数组中的值,将第一个数组中的该值设置为一个标志<br>
 * 下一次取数的时候,只有下标不为标志的才能够取,从而达到了不重复<br>
 * 
 * @author brx
 */
public class Test {
    public static void main(String[] args) {
        test();
    }

    /**
     * 核心思路:<br>
     * 设置a[r]=-1;将已经用过的数设置为一个二分判断的标志,类似于boolean类型的是和否
     */
    public static void test() {
        int[] a = new int[10];
        int[] b = new int[10];
        for (int i = 0; i < 10; i++) {
            a[i] = i;
        }
        for (int i = 0; i < 10; i++) {
            int r = 0;
            do {
                r = (int) (Math.random() * 10);
            } while (a[r] == -1);

            b[i] = a[r];
            a[r] = -1;
        }
        System.out.println(Arrays.toString(b));
    }
}

相关文章

  • 【专题】随机不重复原理

    随机不重复原理: 重要思路,通过设置标志判断重复,达到不重复。判断重复,直接通过改变多个元素为一个标志,则能够简单...

  • c#实现随机产生不重复数字原理

    c#实现随机产生不重复数字原理:随机产生数字 及检查重复 随机产生使用关键字:Random

  • 不重复随机

    方案一、无序不重复数列 通过无序数列代替随机数,如:[7, 2, 8, 4, 9, 0]现在我们模拟一个随机数范围...

  • 指令专题:快乐的海底世界(边缘反弹、随机数)

    指令专题:快乐的海底世界(边缘反弹、随机数) · 视频课程 指令专题:快乐的海底世界(边缘反弹、随机数) · 课程...

  • 一键生成不重复随机数,和随机姓名、随机省市,从区域中随机取值

    展示4个功能: 一键生成不重复的随机数,生成随机姓名,生成随机的省市名称,以及从区域中随机取值。

  • 随机森林原理

    1、集成学习 就是对于同一个分类问题,同一组训练集,构建多个分类器,有多个分类器的平均值或者众数决定分类结果,以此...

  • 随机森林原理

    1、随机森林步骤1)给定包含N个样本的数据集,经过m次有放回的随机抽样操作,得到T个含m个训练样本的采样集2)对每...

  • 随机森林原理

    1、什么是随机森林?随机森林就是用随机的方式建立一个森林,在森林里有很多决策树组成,并且每一棵决策树之间是没有关联...

  • (十三、)随机森林

    一、原理 随机森林:属性随机、样本随机多个算法,合到一起,共同发挥作用 取长补短 随机森林 提高准确率,防止过拟合...

  • 不重复随机抽样

    今天和大家分享不重复的随机抽样 代码展示: HTML部分 script部分: 代码解析: 建立空数组,将随机到的元...

网友评论

    本文标题:【专题】随机不重复原理

    本文链接:https://www.haomeiwen.com/subject/vbzrottx.html