算法题之-二维数组元素查找
来源:互联网 发布:什么是数据api接口 编辑:程序博客网 时间:2024/05/16 11:43
描述:
给定的一个二维数组,该二维数组从左往右从,上往下依次增大,给定一个元素值,求该元素值是否是在该数组中 。
解决办法
先将待查找元素(设为key)与数组最右上角元素(设为a)对比:
- 若a>key,因数值大小从上往下递增,故该元素往下一定不存在key值,故可以删除该列。
- 若a <key,因数值大小从左往右递增,故该元素往右一定不存在key值,故可以删除该行。
重复进行即可判断是否存在该元素。
图解
二维数组如下所示
key=7
其过程如下 :
其实现代码很简单:如下所示
function Find(arr,rows,colmuns,key){ var found=false; if(arr!=null && rows>0 && colmuns>0 ) { var row=0; var colmun=colmuns-1; while(row<rows && colmun>0) { if(arr[row][colmun]==key) return true; else if(arr[row][colmun]>key) { colmun--; } else row++; } return found; } return found;}var arr=[[1,2,8,9],[2,4,9,12],[4,7,10,13],[6,8,11,15]];flag=Find(arr,4,4,7);console.log(flag); //1,存在
阅读全文
0 0
- 算法题之-二维数组元素查找
- C++算法之 二维数组的查找
- 算法学习之二维数组中的查找
- 算法学习之二维数组中的查找
- 算法练习之二维数组的查找
- 二维数组查找算法
- 有序二维数组查找元素
- 有序二维数组查找元素
- 算法学习之数组元素查找
- 【算法】二维数组中的查找
- 二维数组查找算法(C++)
- 算法-二维数组中的查找
- 剑指Offer算法实现之三:二维数组中的查找
- 每天一个算法之二维数组查找整数
- 经典算法之二维数组中的查找问题
- 剑指offer01--二维排序数组查找元素
- (java)二维有序数组中查找元素
- 在二维数组中查找元素
- 63 Unique Paths II
- spingDataJpa
- 转载: HDMI 基础知识
- MonggoDB In Action-更新、原子操作与删除(Part3)
- shell小脚本--laod博客更新hosts文件[脚本]
- 算法题之-二维数组元素查找
- [Android6.0][RK3399] 实现耳机和喇叭自动切换功能
- SOCKET用户接口与系统调用关系
- Eclipse安装
- UVA
- PAT 1034. Head of a Gang (30) DFS,删边
- 【HDU
- linux的Anaconda环境下安装TensorFlow
- HDU 6166 2017多校 Team09 1006:Dijkstra顶点子集最短路径