问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

[转载]如何快速得到无重复的 1 - 100 数字的乱序序列?

发布网友 发布时间:2022-04-23 03:33

我来回答

1个回答

热心网友 时间:2023-08-29 18:54

重新分析特点:1 到 100 总共 100 个数,无重复全部输出; 新思路出现了:先把 1 到 100 顺序存放在一个长度为 100 的数组中,然后随机产生两个 1到 100 的数字,假设 a = 4 , b = 21 ,然后把处于数组 [第 4 位] 和 [第 21 位]的数字对调。同样方法,进行 N 次,序列里的数字就变成了乱序,而且,因为是对调,所以也就不会出现重复问题。代码: int[] arr = new int[100]; //初始化数组 for(int i=1;i<=100;i++) { arr[i] = i; //给每个单元顺序赋值 } Random rnd = new Random();//初始化随机数生成器 int N = 200; //假设重复对调 200 次 for(int i=0;i<N;i++) { int a = rnd.Next(0,100);//随机选取两个单元下标 int b = rnd.Next(0,100);//区间范围 0 ~ 99 int temp = arr[a]; //经典的两数交换 arr[a] = arr[b]; arr[b] = temp; } //现在得到的数组就是乱序无重复数组 其实,这个思路就相当于:在一个袋子里,扔进去编号为 1-100 的 100 个球,然后摇晃袋子,相当于两个球在交换位置,得到的自然也就是乱序的,球不会变,所以是无重复的。
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
冠状病毒酒精消毒怎么使用 袁咏仪主演的真爱之百万新娘哪个网站可以看 ...方便的话告诉我结局怎么样。陈玉是不是死了 冉冉东升可以组什么句子 求我姓冉的专属句子 弹弹堂高手之路全部过完给多少强化石 百度弹弹堂2里面的《高手之路高级高抛打法(高级)》《高手之路高级高差训 ... 弹弹堂工厂3怎么打 弹弹堂高手之路的任务怎么触发的 腹肌练习计划 c#掷骰子随即数 Random rnd = new Random();这段代码是什么意思?Session[&quot;StuName&quot;] = this.txtName.Text; (vb编程问题)随机产生10个两位数,显示该十个数,按大到小的顺序排序,并显示出来 c#中的random函数 ASP中Randomize和Rnd怎么用啊 android 怎样生成随机数 RND函数怎么用 java如何生成一组随机的不重复的数列? java编程:用26个英文字母随即产生1000个英文大写字母,选出元音字母的个数以降序排列并输出相应的个数 c#中的random函数怎么用? 用java怎么生成1到25的共五行五列的随机数? 怎样生成随机数 java随机数 C#中生成随机数的关键字是什么 个税怎么算的 java中下面这段代码是什么意思呢?涉及到random函数 题干:实例化随机数类Random rnd = new Random(),则rnd.Next(1,4)的显示值不可能为( )。 分数:2分 选项 怎么计算税费? str += ((int)rnd.Next(10)).ToString();中10是什么意思 还有p = (int)rnd.Next(3) + 1;中的3 rnd.nextInt() & 0x7fffffff达人解释一下这句代码是什么意思啊 next Monday意思是什么? Next Monday是什么意思? there is a maths test next Monday和there will be a maths test next monday 的区别 英语星期一到星期日单词是什么? next montday的意思 We are going to have a sports day next Monday什么意思 next monday是下周一还是下下周一 see you next monday什么意思 周五的next monday是哪一天 IwillreadabooknextMonday是什么意思? next monday is that We are going to have a sports day next Monday.什么意思 theywillseetheflowershownextmonday是什么意思 later monday, next monday next monday的时态 Lily will help me to cook next Monday.的意思是什么 的意思是? “MONDAY”是什么意思? 支付联盟是传销吗? 中付联盟是骗人的吗? 腾讯说我qq中奖了 我填写了真实的个人资料 骗被诈骗该怎么办