怎么用js找出丢失的数字
发表于:2025-01-16 作者:千家信息网编辑
千家信息网最后更新 2025年01月16日,本篇内容主要讲解"怎么用js找出丢失的数字",感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习"怎么用js找出丢失的数字"吧!题目:有一组数字,从1到n(假设n=
千家信息网最后更新 2025年01月16日怎么用js找出丢失的数字
本篇内容主要讲解"怎么用js找出丢失的数字",感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习"怎么用js找出丢失的数字"吧!
题目:有一组数字,从1到n(假设n=10000),从中任意删除了3个数,顺序也被打乱,剩余数字放在一个n-3的数组里,请找出丢失的数字,要求算法比较快。
方法一,(我写的程序):
var ary = [1, 5, 7, 6, 4, 8, 10]; var n = ary.length + 3; var newAry = []; [xss_clean]("假设n=" + n + "
"); ary.sort(function(a, b){ return a - b; }); [xss_clean]("初始数组:" + ary + "
"); for(var i = 1, j=0; i <= n; i ++,j++){ var diff = ary[j] - i; if(!ary[j]){ newAry.push(i); } else if(diff > 0){ for(var k = 0; k < diff; k ++){ newAry.push(i++); } } } //alert(newAry); [xss_clean]ln("缺少的数:" + newAry);
下面是另外两位工程师给出的答案(本文的***会给出一位网友对三种实现的效果测试对比)
方法二,
var n = 10; var oldArr = [5,1,6,3,7,8,10];//缺失的源数组997个数; var newArr = Array(11); var lostArr = [];//要找的数的数组 for(var i = 0; i < n-3; i++) { newArr[oldArr[i]] = 1; } for(var j = 0; j < newArr.length; j++) { if(!newArr[j]) { lostArr.push(j); } } lostArr.shift(0); alert(lostArr);
方法三,
var num = [2,1,3,5,4,6,7,9,10,11,12,14,15,17,18,19,20,22,23,21]; numnum = num.sort(function(a,b){return a-b}); var y={}; for(var i=0;i有位网友对上面三种方法进行了运算时间的测试(为了测试效果明显,他将数据量增加到了十万条),测试效果如下:
方法一,200ms左右;方法二,70ms左右;方法三,260ms左右。
到此,相信大家对"怎么用js找出丢失的数字"有了更深的了解,不妨来实际操作一番吧!这里是网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!
方法
数字
数组
测试
效果
个数
内容
网友
学习
实用
明显
更深
万条
从中
兴趣
实用性
实际
工程
工程师
操作简单
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
黑暗之魂2服务器能玩吗
c语言软件开发平台有哪些
常州打造智慧校园软件开发
镇江网站服务器哪个厂家质量好
湖北生物科技职业学院互联网
江西网络技术有限公司很多
张江服务器
如何理解数据库安全
软件开发要求报告
网络安全 三关三监测
中国资源环境数据库
郑州中澳网络技术有限公司
ces服务器
战地五怎么找社区服务器
湖北省广电网络技术部电话
软件开发+二维码
软件开发公司设计师
fastapi链接数据库
vb 附加sql数据库
安康市网络安全预算
附加数据库访问不了
企业网络安全背景
移动网络技术文员
浙江省保监会网络安全竞赛
cs管理系统服务器
apache云服务器
哪里有好的重庆电信服务器托管
谷村新司视频软件开发
网络安全防范措施一般不包括哪些
2014网络安全事件