怎样实现从一个长度为100的数组中随机取十个不同的数,只能循环一次,且不进行判断
Fisher–Yates_shuffle算法: Fisher-Yates shuffle 只做10次即可。
■网友
补充一下 @余建荣 的算法,用JS举个例子:let swap = (arr, i, j) =\u0026gt; { let t = arr; arr = arr; arr = t; };let shuffle = (arr, n) =\u0026gt; { let t = arr.slice(0, arr.length), l = t.length; for(let i = l - 1; i \u0026gt;= l - n; --i) swap(t, i, Math.floor(Math.random() * (i + 1))); return t.slice(l - n, l); };let arr = ;console.log(shuffle(arr, 10)); 【怎样实现从一个长度为100的数组中随机取十个不同的数,只能循环一次,且不进行判断】 其实说白了就是每次在剩下的数中选一个啦。就这样。
■网友
可是只能循环一次啊
推荐阅读
- 聪明人养花,这3种“花”怎样也要养一盆,每年能省不少医药费
- 同比■同比增长7.1%!2021年的第一个节你花了多少钱?
- “他是我第一个会说普通话的老师”:一对师生折射青海山村蝶变
- 北京22家市属医院均开展安检基本实现重点区域安检措施全覆盖
- 长江流域渔民退捕“上岸”实现扩产新致富
- 实现“甜蜜计划”,这对中哈跨国夫妻好甜
- 北京地铁11号线西段三座车站提前实现主体结构封顶
- 有必要重新开个C店吗
- 互联网怎样解决“家政服务上门速度慢”的问题
- 怎样看待从1月8号起,QQ钱包开始提现收费
