题解 | #无重复数组#

无重复数组

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

思路

  1. 生成一个两数之间的整数,使用到Math的random函数

random

random()会返回一个浮点型伪随机数字,范围[0, 1)

  • 返回一个两数之间的 随机数 ,范围在[start, end)
Math.random()*(end - start)
  • 返回一个两数之间的 整数 ,范围在[start, end)
// floor向下取整
Math.floor(Math.random()*(end - start))
  • 返回一个两数之间的 整数 ,范围在[start, end]
Math.floor(Math.random()*(end - start+1)) + start

此题中要求的是第三种情况

代码

 			const _getUniqueNums = (start,end,n) => {
                // 补全代码
                const res = []
                while(res.length < n) {
                  let num = Math.floor(Math.random()*(end-start+1))+start
                  // 不能有重复的元素
                  if (!res.includes(num)) {
                    res.push(num)
                  }
                }
                return res
            }
全部评论

相关推荐

10-18 13:01
已编辑
西安理工大学 C++
小米内推大使:建议技能还是放上面吧,hr和技术面试官第一眼想看的应该是技能点和他们岗位是否匹配
点赞 评论 收藏
分享
8 1 评论
分享
牛客网
牛客企业服务