题解 | #无重复数组#
无重复数组
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]
}
查看17道真题和解析