查找数组中被删除的一个元素
一个数组arr0,长度任意,删除其中某个元素后得到数组arr,求删除的元素
最容易想到的方法:顺序查找,两个循环
function
findItem1(arr0,arr
){/* arr0:原始数组 arr: 随机去除某一个元素后的数组 */
if
(!arr0||arr0.length<1||arr0.length-arr.length!=1
)return
'error'
;if
(arr0.length==1
)return
arr0[0]; for(){ for(
var
i=0,l=arr0.length;i<l;i++){
var
m=0,n=arr.length;m<n&&arr0[i]!==arr[m];m++if
(m==n-1
)return
arr0[i]; } } }
最容易想到的方法一般都是效率最低的方法,发了半天呆又想到了二分查找
function
findItem2(arr0,arr
){/* arr0:原始数组 arr: 随机去除某一个元素后的数组 */
if
(!arr0||!arr||arr0.length<1||arr0.length-arr.length!=1
)return
'error'
;if
(arr0.length==1
)return
arr0[0];function
compare(ascArr1,ascArr2
){//ascArr1.length-ascArr2.length==1
var
ci = Math.floor(ascArr1.length/2
);if
(ascArr1[ci]!==ascArr2[ci]
){if
(ci==0||ascArr1[ci-1]==ascArr2[ci-1]
)return
ascArr1[ci];else
return
compare(ascArr1.slice(0,ci
),ascArr2.slice(0,ci
)); }else
{if
(ci==ascArr2.length-1
)return
ascArr1[ci+1];else
return
compare(ascArr1.slice(ci+1
),ascArr2.slice(ci+1
)); } }return
compare(arr0,arr
); }
暂时只想到这两种方法,应该还有更高效的方法,想到了再补充。查看本文demo
查找数组中被删除的一个元素相关推荐
- python查找数组中出现次数最多的元素
方法1-np.argmax(np.bincount()) 看一个例子 array = [0,1,2,2,3,4,4,4,5,6] print(np.bincount(array)) print(np. ...
- 利用堆排序查找数组中第K小的元素方法
先从数组A[ ]中取前k个元素建立大根堆,然后再遍历剩下的n-k个元素, 如果大于或者等于堆顶,则舍弃: 如果小于堆顶,则将其与堆顶替换,并将换下来的堆顶舍弃,然后重新向下调整为大根堆,最后堆顶即为所 ...
- 查找数组中第二个最小元素
查找数组中最小的两个元素的过程: 第一种情况: 如果数组的数据是偶数个N: 1.首先假设最小值和次最小值是最前面的两个数 min1=p[0]; min2=p[1]; 2.进行循环,进入下一组的两个数中 ...
- c语言在数组中找最小数,C语言 查找数组中最大最小元素
//findMax.c /** 查找数组中最大,最小的元素. */ #include #include #include void main() { int array[10];// int Y=10 ...
- python统计数组中出现次数最多的元素
python查找数组中出现次数最多的元素 方法1-np.argmax(np.bincount()) array = [0,1,2,2,3,4,4,4,5,6] print(np.bincount(ar ...
- php如何去除数组的最后一个元素,如何从PHP中的数组中删除最后一个元素?
要从数组中删除最后一个元素或值, 请使用array_pop()函数.此函数返回数组中最后一个删除的元素, 如果数组为空或不是数组, 则返回NULL.从数组中删除最后一个元素后, 将修改数组, 并且仅当 ...
- php 查找数组相同元素,查找数组中重复的元素
本文收集整理关于查找数组中重复的元素的相关议题,使用内容导航快速到达. 内容导航: Q1:在c语言中输入数组两个数组,查找重复元素并输出怎么写啊 可以一次读入N个数据.可以考虑以回车结束读入的一组. ...
- 【Java】 查找数组中指定元素之 顺序查找 与 二分查找
今天博主分享两个查找数组中指定元素的算法:顺序查找与二分查找 小小目录 1.顺序查找 2. 二分查找 1.顺序查找 给定一个数组, 再给定一个元素, 找出该元素在数组中的位置. 代码如下: //顺序查 ...
- 在数组中查找第k个最大元素_查找数组中每个元素的最近最大邻居
在数组中查找第k个最大元素 Problem statement: 问题陈述: Given an array of elements, find the nearest (on the right) g ...
最新文章
- python找列表list中某个数对应的索引值
- ios开发学习--cocos2d(cocos2d)效果源码分享--系列教程
- Hadoop Pig学习笔记 各种SQL在PIG中实现
- HDFS的Secondarynamenode工作机制
- c++如何获取文件时间_如何在Windows 10上获取文件或文件夹的所有权
- 在线普通话转粤语发音_香港最新悬疑侦探剧福尔摩师奶,粤语知识好难
- ubuntu 16.04 + apache2 将php7.1 切换到 php7.3
- jenkins启动/重启/停止命令 改端口
- 通过vmstat命令判断服务器瓶颈
- Android基础教程(奋斗之小鸟)_PDF 电子书
- IT外包服务内容介绍
- 【ASP.NET Core分布式项目实战】(三)整理IdentityServer4 MVC授权、Consent功能实现...
- 服务器硬盘分区raid,硬盘分区高手请进!!!
- 复杂网络中的小世界效应是什么东西?
- Unicode HOWTO 中文翻译
- 玉雕工作室php,吴春强玉雕大师—吴春强玉雕工作室
- “我在公司待了 6 年,清退我却只花了 6 分钟”
- [内存] 谈谈所谓的要不要关闭虚拟内存
- 编写AIC工艺参数计算Matlab程序(疯狂踩坑)
- 简单Android app之 一键签到 开发日记
热门文章
- 插件怎么用_PPT插件怎么用?用好了10s就能给出一个动画特效,不好看不要钱
- matlab画图,想让子图使用不同的色标
- 【matlab】将几幅图片放到一个画布中
- oracle多表嵌套查询使用,oracle sql 多表 嵌套子查询 连接查询, join where exist i...
- c语言验证鼓角猜想,患者,男,43岁,交通警察。下肢酸胀、沉重6年,活动或休息后减轻。体格检:小腿外侧有蚓状团块,足靴区...
- snipaste安装和使用_snipaste替代品 amp; linux截图解决方案-截图、贴图工具Flameshot...
- idea2020显示内存占用_【解决讨论】关于macbook pro 16使用 idea2020.1风扇狂转的问题(很吵)...
- oracle表空间名字忘了,忘记Oracle用户名密码、及表空间对应的数据库文件地址
- mysql 统计 1的数量_利用MySQL统计一列中不同值的数量方法示例
- python中如何判断输入的是否是数字_python如何判断输入是不是数字