题解 | #无重复数组#

无重复数组

https://www.nowcoder.com/practice/d2fa3632268b41df9bc417b74802ad8c

两个方法:

Array 法

const _getUniqueNums = (start,end,n) => {
                // 补全代码
                return Array(end - start + 1) // 创建数组
                        .fill(null) // 初始化
                        .map((_, i) => start + i) // 填装数据
                        .sort(() => Math.random() - 0.5) // 随机排序
                        .slice(0, n); // 截取前n个
            }

Set 法

const _getUniqueNums = (start,end,n) => {
                // 补全代码
                let randSet = new Set();
                let interval = end - start;
                while (randSet.size < n) {
                    randSet.add(Math.floor(Math.random() * interval) + start)
                }

                return [...randSet]
            }

全部评论

相关推荐

迷茫的大四🐶:都收获五个了,兄弟那还说啥,不用改了,去玩吧
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务