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
投稿
猜你喜欢
- 小贤是一条可爱的小狗(Dog), 它的叫声很好听(wow), 每次看到主人的时候就会乖乖叫一声(yelp).从这段描述可以得到以下对象:fu
- 我希望大家看到该标题就能让想象到它的功能: 1、WITH TEMPL
- 表格(Table)可读性提升的系统总结,包括“行列组织关系模糊、单元格内容不清晰”两大方面...前边写了个大框架,好像有点笼统,因为没有各点
- 网页过渡是指当浏览者进入或离开网页时,页面呈现的不同的刷新效果,比如卷动、百叶窗等。注:通过模板所建网页无法添加网页过渡效果!制作步骤:1、
- 这几天转了几个内容包含日语的贴,结果发现搜索数据库时出现“内存溢出”错误。上网搜索寻求答案未果。最后才发现这就是传说中的“日文 26 个片假
- 当你用 ASP 编写服务器端应用程序时,必须依靠 ActiveX
- 这个可以说属性选择符的JS版,用来遴选元素是适合不过。在开始之前,我们复习一下CSS2的属性选择符,JQuery高手可以跳过。属性选择符:名
- 以下为引用的内容: <html> <head> <title>不刷新页面查询的方法&
- 在建立与服务器的连接时出错。在连接到 SQL Server 2005 时,在默认的设置下 SQL Server 不允许进行远程连接可能会导致
- 用Dreamweaver制作网页时,如果插入的图片、GIF动画、声音、视频或链接的网页是用中文命名的,在用IE浏览器浏览时可能显示不出来。以
- 爱如风过 问:js如何能知道浏览者计算机或者浏览器使用的语言是繁体还是简体?如题,我想用jS检测到浏览者使用的是繁体还是简体中文,以便设置页
- asp判断网址格式是否合法代码 具体实现办法见下列代码:<% function checki
- 这主要是因为杀毒软件将一些asp关键词当作木马特征,记录保存着,所以遇到有这个关键词,就会禁止运行或删除。解决的方法是将这些关键词给拆开。把
- 又一个js加密工具:js混淆,完整源代码如下,有点长呵呵:<HTML><HEAD><TITLE>Cunf
- [前言] 我们经常会遇到多重查询问题,而长长的SQL语句往往让人丈二和尚摸不着头脑。特别是客户端部分填入
- 在翻译这篇文章时我想起一件事情,去年有个朋友在网上非常兴致勃勃的和我说:“我弄了一个很酷的网站,去玩玩吧!真的不错哦!”,然后他把网址发给我
- 虽然我只是把豆瓣当作一个纪录工具来用,纪录下自己看过的电影、听过的音乐、读过的书籍,我几乎不关注豆瓣上的任何影评、乐评、音衣服之类的内容,但
- 匹配中文字符的正则表达式: [\u4e00-\u9fa5]匹配双字节字符(包括汉字在内):[^\x00-\xff]应用:计算字符串的长度(一
- 看过数据库的备份与还原。大多数都是用组件来完成的。其实可通过sql语句来完成。 由于时间关系,未对参数进行验证和界面美化。代码
- 如何选择速度最快的站点? <html><head><meta http-equiv=&qu