Java实现二维数组中的查找
2019-12-19 16:07:54来源:博客园 阅读 ()
Java实现二维数组中的查找
题目描述:
在一个二维数组中(每个一维数组的长度相同),每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。
题目分析:
- 根据二维数组的特点可知,二维数组相当于一个矩阵;
- 根据题意可知该数组是有序的,因此该矩阵元素相当于是从小到大排列的;
- 如果从左下角开始查找较方便,因为左下角的值向上是递减的,向右是递增的;
- 当从左下角开始比较时,如果target传入的数大于它则列数加一进行比较 ,如果小于它则行数减一进行比较。
代码:
1 public class Solution { 2 public boolean Find(int target, int [][] array) { 3 int rows = array.length; 4 //定义行数 5 int lies = array[0].length; 6 //定义列数 7 int i = 0; 8 //i用于计数 9 while((rows>0)&&(i<lies)) 10 //while中不满足条件时即停止循环 11 { 12 if(target>array[rows-1][i]) 13 //当目标大于左下角的值时,让列数自增 14 { 15 i++; 16 } 17 else if(target<array[rows-1][i]) 18 //当目标小于左下角的值时,让行数自减 19 { 20 rows--; 21 }else 22 { 23 //当前两种都不是时,说明找到目标 24 return true; 25 } 26 } 27 //遍历完还没找到,说明目标在数组中不存在 28 return false; 29 } 30 }
原文链接:https://www.cnblogs.com/kangbazi666/p/12070354.html
如有疑问请与原作者联系
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
- 国外程序员整理的Java资源大全(全部是干货) 2020-06-12
- 2020年深圳中国平安各部门Java中级面试真题合集(附答案) 2020-06-11
- 2020年java就业前景 2020-06-11
- 04.Java基础语法 2020-06-11
- DES/3DES/AES 三种对称加密算法实现 2020-06-11
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash