js随机永不重复数
时间:2011-04-25 19:26:00
比如说在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差不多的原因主要是因为打印的原因
标签:随机数,js
0
投稿
猜你喜欢
django搭建项目配置环境和创建表过程详解
2022-10-26 19:03:25
pycharm打包py项目为.exe可执行文件的两种方式
2022-03-26 11:51:51
利用Python绘制一个可爱的米老鼠
2022-01-29 14:34:30
Go 中 time.After 可能导致的内存泄露问题解析
2024-02-03 13:05:16
Python字典和列表性能之间的比较
2022-08-08 12:49:58
Python bsddb模块操作Berkeley DB数据库介绍
2024-01-18 05:32:02
利用python、tensorflow、opencv、pyqt5实现人脸实时签到系统
2022-03-12 16:00:44
SQLServer 2005 实现数据库同步备份 过程-结果-分析
2012-07-11 15:56:55
Python删除列表中重复元素的七种方法举例
2021-08-16 06:10:15
微信小程序学习笔记之本地数据缓存功能详解
2024-04-22 12:42:49
Python实现随机漫步功能
2021-02-05 20:44:45
解决Tensorflow安装成功,但在导入时报错的问题
2022-03-05 18:39:27
vue一步到位的实现动态路由
2024-05-21 10:16:05
Django+Ajax异步刷新/定时自动刷新实例详解
2023-11-29 11:28:15
vue实现Input输入框模糊查询方法
2024-04-28 09:20:46
Python如何求取逆序数
2022-07-16 07:16:57
Python可视化程序调用流程解析
2022-07-18 15:53:07
MySQL触发器trigger的使用
2024-01-23 15:08:23
python中split(), os.path.split()和os.path.splitext()的用法
2022-03-23 09:06:40
Python实现获取照片的地理定位信息
2023-06-30 01:39:54