关注
int a[1000];
for(i=0; i<=999; ++i) a[i]=i;
for(i=999; i>=1; --i) swap(a[i], a[rand()%i]);
上面这段代码只需要遍历一次就可以产生这1000个不重复的随机数,它是如何做到的呢?首先第二行按顺
序用0到99填满整个数组;第三行,是随机产生从0到m-2个数组下标,把这个下标的元素值跟m-1下标的元
素值交换,一直进行到下标为1的元素。因此它只需要遍历一次就能产生全部的随机数。
取前50个即可
查看原帖
点赞 5
相关推荐
昨天 02:50
Columbia University 算法工程师 点赞 评论 收藏
分享
牛客热帖
更多
正在热议
更多
# 字节求职进展汇总 #
690334次浏览 6978人参与
# 机械人与华为的爱恨情仇 #
98594次浏览 891人参与
# 携程求职进展汇总 #
194307次浏览 1521人参与
# 牛友故事会 #
225191次浏览 4804人参与
# 小米提前批笔试难吗 #
28169次浏览 297人参与
# 文科生还参加今年的春招吗 #
7276次浏览 82人参与
# 满帮集团求职进展汇总 #
2091次浏览 52人参与
# 中兴求职进展汇总 #
561254次浏览 2581人参与
# 实习必须要去大厂吗? #
76118次浏览 1142人参与
# 求职你最看重什么? #
49677次浏览 302人参与
# 工作两年想退休了 #
95148次浏览 964人参与
# 讲讲我的真实离职原因 #
30698次浏览 373人参与
# 正在实习的你,有转正机会吗? #
347228次浏览 2770人参与
# 大厂无回复,继续等待还是奔赴小厂 #
97787次浏览 827人参与
# 读研or工作,哪个性价比更高? #
36254次浏览 520人参与
# 扒一扒那些奇葩实习经历 #
15071次浏览 182人参与
# 牛友打假中心 #
19628次浏览 1080人参与
# 德州仪器求职进展汇总 #
2414次浏览 79人参与
# 找工作,你会甘心进小厂还是猛冲大厂 #
261992次浏览 3005人参与
# bilibili求职进展汇总 #
43675次浏览 459人参与
# 你觉得机械有必要实习吗 #
39750次浏览 391人参与