网络编程
位置:首页>> 网络编程>> JavaScript>> js随机永不重复数

js随机永不重复数

  发布时间:2011-04-25 19:26:00 

标签:随机数,js

比如说在1-3000之内生成随机永不重复数,
点击运行代码的时候请注意,此代码比较占用资源,
如果硬件配置比较菜请把count改小。
俺的电脑配置是Intel E2160+2G内存,一般,不算菜。所有测试在俺的电脑上运行


方案1:1531 毫秒
一般的思路是先创建一个1-3000的数组,每一次取出一个,然后让这个数组减少一个,
取一个,减少一个,这样就可以做到永不重复了。

 

方案2:297毫秒
但是方案1采用了slice方法,此方法重新生成数组,会大量占用内存和cpu运算,
效率很低,所以改良一下,从原始数组取出一个数,
然后让原始数组的这个位置赋值为null
这样下一次取数的时候判断如果为null就不取,直到不为null为止。
经过测试,可以显著提高效率

方案3:234毫秒
换一个思路,如果把原始数组origin打散,然后再依次打印,
这样也可以做到随机永不重复,而且效率更高,
因为方案2运行到越后面,原始数组为null的频率就越高,运算的次数就越多

方案2、3差不多的原因主要是因为打印的原因

0
投稿

猜你喜欢

  • 这两天为用bottle+mongodb写的一个项目加上登录功能,无奈怎么都获取不到保存的cookie,文档给出让我们这样操作cookie的代
  • 简介这两天更新完Xcode8之后发现Xcode对图标的要求又有了变化,之前用的一个小应用“IconKit”还没赶上节奏,已经不能满足Xcod
  • 本文实例讲述了php实现按照权重随机排序数据的方法。分享给大家供大家参考。具体实现方法如下:<?php   /**
  • 目录方案一:重建 Replicas前提条件优点缺点操作步骤MasterSlave方案二:使用percona-toolkit进行数据修复前提条
  • 大家都知道搜索引擎比较喜欢H1。在SEO中H1也是很基础也很重要的一步。但有些时候为了界面风格的原因,很多标题性的文字做成了图片。大多数情况
  • MySQL 慢日志(slow log)是 MySQL DBA 及其他开发、运维人员需经常关注的一类信息。使用慢日志可找出执行时间较长或未走索
  • 本文实例分析了python字典排序的方法。分享给大家供大家参考。具体如下:1、 准备知识:在python里,字典dictionary是内置的
  • 一、问题首先我们在进行Django框架搭建的时候我们需要建立一个全局的变量,一是为了实现代码的复用,二是为了方便管理,如下图的样式二、解决1
  • 1、基本原理访问网站扫码登录页,网站给浏览器返回一个二维码和一个唯一标志KEY浏览器开启定时轮询服务器,确认KEY对应的扫码结果用户使用ap
  • 一,啥是Block Formatting Context当涉及到可视化布局的时候,Block Formatting Context提供了一个
  • 一、张量裁剪1.tf.maximum/minimum/clip_by_value()该方法按数值裁剪,传入tensor和阈值,maximum
  • 目录前言项目设计后端前端运行项目Q&A前言在前面的Api开发中,我们使用FastApi已经可以很好的实现。但是实际使用中,我们通常建
  • 一. 引入话题MySQL是一款广泛使用的开源数据库管理系统,它具有高效、稳定、可靠等优点,并支持多种操作系统和编程语言。然而,在使用MySQ
  • 二进制数据结构Struct在C/C++语言中,struct被称为结构体。而在Python中,struct是一个专门的库,用于处理字节串与原生
  • 关于python读取xml文章很多,但大多文章都是贴一个xml文件,然后再贴个处理文件的代码。这样并不利于初学者的学习,希望这篇文章可以更通
  • 在我们的生活中,需要接触大量的带有机械按键的物品。当你用手指按下按键的时候。都会或强或弱的感受一股(嗯,也有可能是一丝丝)反作用力传递到你手
  • 数据库复制:简单来说,数据库复制就是由两台服务器,主服务器和备份服务器,主服务器修改后,备份服务器自动修改。复制的模式有两种:推送模式和请求
  • 目录vuex持久化总结vuex持久化vuex:刷新浏览器,vuex中的state会重新变为初始状态解决办法:使用vuex-persisted
  • 背景:先说一下应用吧,一般我们进行网络训练时,都有一个batchsize设置,也就是一个batch一个batch的更新梯度,能有这个batc
  • 具体代码和实现方法见下:第一个办法,这个程序可以进行万亿以下的货币金额转换(够用的了吧),其中汉字与数字均按一位计:Function&nbs
手机版 网络编程 asp之家 www.aspxhome.com