java随机生成10个不重复的数字,随机生成10个不重复的0-100的数字(实例讲解)

2023-10-30

在面试时,面试官问了我一道js题:随机生成一个含有10个元素的数组,且元素为0-100的不重复的整数。当时的第一反应是for循环生成10个数字,但是可能会有重复的情况;进一步思考,需要对生成的数字进行验证才能放到数组里面,但是问题来了,如果恰好有重复的,那我之前for循环生成的10个数字就不够了。当时回答的不好,回来后再仔细思考一下,想出了2中解决方案,第一种其实是尝试过程中得出的,还是第二种比较好。

第一种:

function random () {

var arr = [];

for (var i = 0; i < 100; i++) {//生成循环100次,生成100个数字。该方法最大的弊端,为了避免有重复的情况导致数组不足10个元素,所以生成较多的数字

var num = Math.floor(Math.random() * 100);//生成0-100的随机整数

if (arr.length == 0) {

arr.push(num);//数组为空时直接放入数组

} else {

for (var j = 0; j < arr.length; j++) {//循环已存在的数组

if (arr.join(',').indexOf(num) < 0 && arr.length <= 10) {//判断已存在数组中是否已有刚生成的数字,如没有且数组长度不足10才将num放入arr

arr.push(num); //这样又会导致生成的大部分数字被arr.length

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

java随机生成10个不重复的数字,随机生成10个不重复的0-100的数字(实例讲解) 的相关文章

  • C++:多线程的正确打开姿势

    目的 本例简介c 11中thread库如何创建与停止线程 实现 如下的实例中 通过ThreadWrapper start 方法启动线程 通过ThreadWrapper stop 方法停止线程 线程的主体函数为Thread run 方法 in
  • Servlet 基础知识及操作

    一 什么是servlet Servlet Server Applet 是Java Servlet的简称 称为小服务程序或服务连接器 用Java编写的服务器端程序 具有独立于平台和协议的特性 主要功能在于交互式地浏览和生成数据 生成动态Web
  • [POI2008]CLO-Toll

    题目链接 本题有个小点需要注意 如果说它是多个相互不连通的图 也有可能形成一个可行解 多个环嘛 然后剩下的 就是dfs去跑 如果跑出了返祖边 那么这个返祖边抵达的点 将改变原来的方向 剩下的就都是正方向 dfs直接跑就是了 include
  • 【回溯法】n皇后问题并输出每种解的情况 C语言版

    问题描述 在n n的方格棋盘上 放置n个皇后 要求 个皇后两两不在一行 不在一列 不在同一对角线上 PS 行不用检测 因为皇后本身就是一行一行往下放的 并且一行只能放一个 所以当放好一个皇后后 只需检测列及对角线的位置有无皇后 如下图这些位
  • 报告论文:手写数字识别

    手写数字识别 简单手写数字识别系统 我们对VC比较熟悉 采用VC开发 数字的类别只有十种 笔划又简单 其识别问题似乎不是很困难 但事实上 一些测试结果表明 数字的正确识别率并不如印刷体汉字识别正确率高 甚至也不如联机手写体汉字识别率高 而只
  • 服务器的线路有很多

    服务器的线路有很多 大致的分为 CN2 CIA CDIA GIA等 首先简单介绍一下什么是IPLC专线 IPLC专线是国际私用出租线路 本质就是点对点内网 网络的入口在国内 所以不会受 国际链路影响 也不用走国家防火墙 IP地址可用率高 不
  • 怎么在外部类外访问内部类

    在外部类外访问内部类 Wai Nei wn new Wai new Nei 上式相当于 Wai w new Wai Wai Nei wn w new Nei package a class Wai class Nei int i 5 int
  • 【自然语言处理】利用TextRank算法提取关键词

    利用TextRank提取关键词 TextRank 是一种基于 PageRank 的算法 常用于关键词提取和文本摘要 在本文中 我将通过一个关键字提取示例帮助您了解 TextRank 如何工作 并展示 Python 的实现 使用 TextRa
  • MySQL按逗号拆分列为多行

    图一 图二 按逗号拆分列为多行 把 图一 的展示效果转换成 图二 的展示效果 1 创建用户表 sys user CREATE TABLE sys user id BIGINT NOT NULL auto increment COMMENT
  • 工厂方法模式与抽象工厂模式

    工厂方法模式与抽象工厂模式 一 工厂方法模式 Factory Method 解决的问题 案例 实现步骤 代码示例 比较冗余 只是看设计模式的思想 根据案例分析工厂方法模式 JDK源码中的工厂方法模式 二 抽象工厂模式 Abstract Fa
  • (附源码)vue3.0+.NET6实现聊天室(实时聊天SignalR)

    参考文章 搭建文章 gitte源码 在线体验 可以注册两个号来测试 演示图 一 整体介绍 介绍SignalR一种通讯模型Hub 中心模型 或者叫集线器模型 调用这个模型写好的方法 去发送消息 内容有 Hub模型的方法介绍 服务器端代码介绍
  • Webpack详解

    零 文章目录 Webpack详解 1 webpack基本概念 1 webpack是什么 静态模块打包工具 官网 https webpack docschina org 官网文档 https webpack docschina org con
  • selenium 淘宝爬虫(需要扫码登录一下)

    from selenium import webdriver import time import re def gethtml url 定义函数获取html源代码 由于淘宝是动态网页无法用requests库获取所以使用selenium模拟
  • Signature expired

    django 中使用itsdangerous加密时会出现 Signature expired 签名过期的问题 解决办法 expires in设置时间稍微长一点 然后重启pycharm 重新打开项目 比如设置expires in 3600 单
  • AI+林业重塑未来,科技力量守护森林生态宝

    引言 在科技日新月异的时代 人工智能 AI 作为一项崭新的技术 正在革新着我们社会的方方面面 素有 地球之肺 美誉的森林作为人类生存发展中不可或缺的一部分 其管理与保护也开始融入AI技术 催生出了AI 林业这一新兴领域 在AI 林业的浪潮中
  • RT_thread(二)线程的操作

    文章目录 重点 一 线程是什么 二 线程的工作机制 1 线程控制块 2 线程API 1 思维图 2 创建静态线程 3启动线程 4 静态线程脱离 5 创建动态线程 6 动态线程删除 7 使线程让出处理器资源 8 使线程休眠几个节拍 9 线程节
  • Log4j日志记录

    Log4j主要由Loggers 日志记录器 Appenders 输出器 和Layout 日志格式化器 组成 其中Loggers控制日志的输出级别与日志是否输出 Appenders指定日志的输出方式 输出到控制台 文件等 Loyout控制日志
  • 计算机网络03之三种可靠传输机制

    1 停止 等待协议 为什么要有停止 等待协议 答 除了比特出现差错 底层信道还会出现丢包问题 而且为了流量控制 停止 等待协议的原理 答 停止 等待 就是每发完一个分组就停止发送 等待接收端确认 在收到确认后才发送下一个分组 停止 等待协议
  • 网页基本常用标签

    一 标签 元素 1 表示网页的开始 2 网页的头部 3

随机推荐

  • Docker Hub

    Docker Hub是docker的中心仓库 Docker Hub里存储了公共的 Docker 镜像 并且提供服务来帮助你构建和管理你的 Docker 环境 Docker Hub和docker及其组件一起工作 Docker Hub会帮助你和
  • 石头扫地机器人离线了怎么办_关于激光头故障,石头扫地机器人无限次复活记!...

    关于激光头故障 石头扫地机器人无限次复活记 2019 08 17 19 15 41 61点赞 174收藏 82评论 小编注 此篇文章来自即可瓜分10万金币 周边好礼达标就有 邀新任务奖励无上限 点击查看活动详情 创作立场声明 本文记录的是个
  • 【Shell牛客刷题系列】SHELL17 将字段逆序输出文件的每行:巩固awk命令与学习反向列示文件内容的tac命令

    该系列是基于牛客Shell题库 针对具体题目进行查漏补缺 学习相应的命令 刷题链接 牛客题霸 Shell篇 该系列文章都放到专栏下 专栏链接为 专栏 Linux 欢迎关注专栏 本文知识预告 首先学习了反向列示文件内容的命令 tac 这个命令
  • cocos2dx lua 读取json数据

    这里读取的数据是从excel转成json格式的数据 local sData cc FileUtils getInstance getStringFromFile filename local var json decode sData if
  • 基于STM32F103ZET6的RX8025SA时钟电路设计

    1 现在网上大多例程都是关于RX8025T的 带温度补偿的时钟芯片手册 RX8025SA与RX8025T的区别 RX8025T内置高稳定性32 768kHz的DTCXO 数字温度补偿晶体振荡器 可保证在全温度范围内的精度保持在 5ppm R
  • #program once 和 #ifndef

    program once 和 ifndef 在写小demo的时候 注意到vs中会自动生成 program once 看别人写的代码的时候见到比较多的反而是 ifndef define endif 从字面上看两种方式会产生相同的效果 避免同一
  • C语言--__attribute__((aligned(n)))

    include
  • 用户态和内核态的转换

    用户态切换到内核态的3种方式 a 系统调用 这是用户态进程主动要求切换到内核态的一种方式 用户态进程通过系统调用申请使用操作系统提供的服务程序完成工作 比如前例中fork 实际上就是执行了一个创建新进程的系统调用 而系统调用的机制其核心还是
  • 网络打印机因IP地址变动导致脱机的解决方法

    PC版本win10 某一天因为种种原因导致网络打印机的IP变动了 那么我们在自己PC机上添加的打印机就无法使用了 来看作者是怎么解决的 假设目标IP由192 168 1 16改为192 168 2 195 打开我的打印机和扫面仪菜单
  • CSDN站外文章记录收藏

    序号 c opencv相关 1 OpenCV模板匹配算法详解 2 无参考图像质量评价算法Blind Image Quality Evaluation Using Perception Based Features 3 mtf calcula
  • SQLite 使用(针对Android)

    文章目录 1 SQLite 介绍 2 SQLite可视化工具 安装 3 SQLite的增删改查 3 1 SqliteOpenHelper 创建 库或表 3 2 SqliteOpenHelper 实现 增删改查 1 SQLite 介绍 SQL
  • HEVC编码结构:Slice和Tile

    1 Slice片段层 一幅图像可以被划分为一个或多个片或称为条带 Slice 每个片的数据编码都是独立的 如下图 一幅图像被划分为N个Slice Slice成条带形 在编码时 每一个Slice中的CTU按光栅扫描顺序进行编码 Slice头信
  • vue源码中值得学习的方法

    作者 chinamasters https segmentfault com a 1190000025157159 最近在深入研究vue源码 把学习过程中 看到的一些好玩的的函数方法收集起来做分享 希望对大家对深入学习js有所帮助 如果大家
  • Excel怎么求和?5大常用的Excel求和公式

    众所周知 Excel表格里可以运用很多函数来计算 将数据进行整理分析 运用函数是不可或缺的 特别是当我们的数据庞大时 人工计算是很浪费时间的 而且使用函数进行求和不仅仅是因为方便计算 还因为可以方便日后查询数据能够知道数据的来源 所以 Ex
  • MySQL数据库 - 数据库和表的基本操作(一)

    第1关 查看表结构与修改表名 查看数据表基本结构 语法规则为 desc 表名 describe可以查看表的字段信息 包括 字段名 字段数据类型 是否为主键 是否有默认值等 查看数据表详细结构 语法规则为 show create table表
  • 增益带宽积GBW

    增益带宽积GBW 增益带宽积是指放大电路在单位增益下的工作频率范围 通常用于描述放大器的高低频特性 增益带宽积越大表示放大器能够传输更高的频率信号而不降低增益 1 增益带宽积的概念 增益带宽积是指在放大器的这样一个频带内 其实际的电压增益值
  • javaweb-36:smbms用户管理分页OK

    3 获取角色操作 为了我们职责统一 可以把角色的操作单独放在一个包中 和POJO类对应 初始化sql INSERT INTO smbms smbms role roleCode roleName createBy creationDate
  • vscode运行打包vue项目内存溢出的报错和解决办法

    vscode运行打包vue项目内存溢出的报错和解决办法 最近在再弄一个旧项目的时候发现这个项目异常的大 内容涉及很多 导致我在运行的时候发生了内存的溢出 虽然不影响代码跑起来 但是他时不时保存的时候就断了就很烦 没办法 就去找各种办法来解决
  • MySQL项目练习2——员工信息表项目

    目录 项目条件 设计表 数据插入 查询操作 项目条件 dept表 部门 dept部门表结构 字段 类型 描述 deptno mediumint 8 部门编号 PK dname varchar 20 部门名称 unique loc varch
  • java随机生成10个不重复的数字,随机生成10个不重复的0-100的数字(实例讲解)

    在面试时 面试官问了我一道js题 随机生成一个含有10个元素的数组 且元素为0 100的不重复的整数 当时的第一反应是for循环生成10个数字 但是可能会有重复的情况 进一步思考 需要对生成的数字进行验证才能放到数组里面 但是问题来了 如果