二维数组中的查找(java版)
来源:互联网 发布:ff14人族捏脸数据分享 编辑:程序博客网 时间:2024/05/18 03:19
【题目描述】在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。
【解题思路1】
//1. 按行遍历二维数组,当前行遍历中,遇到比目标大的数字,则停止遍历。进入下一行的遍历。直到找到该数字,或遍历结束。
public class Solution { public boolean Find(int target, int [][] array) { int len1 = array.length; if(len1 == 0){ return false; }else{ int len2 = array[0].length, inx = len2; for(int i=0; i<len1; i++){ for(int j=0; j<inx; j++){ if(array[i][j] == target){ return true; } if(array[i][j]>target){ inx = j; break; } } } return false; } }}
【解题思路2】
//1.利用二维数组由上到下,由左到右递增的规律,那么选取右上角或者左下角的元素a[row][col]与target进行比较。
//2.当target小于元素a[row][col]时,那么target必定在元素a所在行的左边, 即col–;
//3.当target大于元素a[row][col]时,那么target必定在元素a所在列的下边, 即row++;
public class Solution { public boolean Find(int [][] array,int target) { int row=0; int col=array[0].length-1; while(row<=array.length-1&&col>=0){ if(target==array[row][col]) return true; else if(target>array[row][col]) row++; else col--; } return false; }}
阅读全文
0 0
- 二维数组中的查找(Java版)
- 二维数组中的查找(java版)
- 二维数组中的查找(java版)
- 二维数组中的查找(Java)
- 二维数组中的查找(java实现)
- [Java]二维数组中的查找
- 二维数组中的查找(数组 查找)
- 【剑指offer-Java版】03二维数组中的查找
- 剑指offer-----二维数组中的查找(java版)
- JAVA实现二维数组中的查找(《剑指offer》)
- JAVA实现二维数组中的查找(《剑指offer》)
- 剑指offer——二维数组中的查找(JAVA)
- 剑指offer--二维数组中的查找 java
- 剑指offer:二维数组中的查找(java)
- [剑指Offer]二维数组中的查找[java]
- 二维数组中的查找java实现
- 二维数组中的查找
- 二维数组中的查找
- AWS EC2小结
- oracle学习使用--oracle安装都安装为企业版
- 请问js对象属性值为什么用数组也可以访问
- 算法细节系列(34):再见字符串(2)
- 151组最易混淆的单词
- 二维数组中的查找(java版)
- Mysql有两种存储引擎:InnoDB与Myisam
- Java中序列化的serialVersionUID作用
- 一个SQLiteReadOnlyDatabaseException的问题
- Android中的消息队列和线程队列机制
- 设置Dialog的屏幕位置、背景等
- 领域驱动设计系列文章(1)——通过现实例子显示领域驱动设计的威力
- Opencv3.0+opencv_contrib_lib +VS2013(编译)+CMake-gui(最近的版本都可以)
- 【R 可视化】R 画关系网络图