怎么用js找出丢失的数字
发表于:2025-11-07 作者:千家信息网编辑
千家信息网最后更新 2025年11月07日,本篇内容主要讲解"怎么用js找出丢失的数字",感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习"怎么用js找出丢失的数字"吧!题目:有一组数字,从1到n(假设n=
千家信息网最后更新 2025年11月07日怎么用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安全错误
数据库的锁怎样保障安全
姑苏区进口服务器厂家直销价格
白莲广场网络安全手册
YG12数据库连接不上
黄浦区智能软件开发售后服务
中旭网络技术
淳诺互联网科技
完美服务器至少保留两个地区
国内知名的网络技术公司
局域网共享服务器不稳定
献县软件开发文档在线咨询
前端调取mysql数据库
网络安全安全浙江大学
软件开发流程多样
influxdb数据库
数字电视有线网络技术
梦幻西游2022年服务器排行
数据库 面试
深圳智能照明软件开发多少钱
数据库系统组成
东方电子电力网络安全监测装置
黄山手机软件开发公司哪家好
网络安全应具有 特征
cf地图工坊无法连接服务器
数据库大作业逻辑结构设计
北京常见软件开发代理价格
宏观月度数据比较全的数据库
固原软件开发哪家值得信赖
丹阳市苏菲亚网络技术有限公司
数控设备软件开发
列车时刻表 数据库