题目描述
在一个二维数组中(每个一维数组的长度相同),每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。
public class Solution {
public boolean Find(int target, int [][] matrix) {
if(matrix ==null ||matrix.length ==0||matrix[0].length ==0) //矩阵不为空,行不为0 ,列不为0
return false; //返回不存在
int r = 0; //从第0行开始
int cols = matrix[0].length;//获取列的宽度
int rows = matrix.length;//获取行的宽度
int c = cols - 1;//列的遍历下标从 列宽度减一
while(r<= rows-1 && c>=0 ) //行小于
{
if(target >matrix[r][c])//目标值大于当前值
r++; //行数增加
else if (target == matrix[r][c])
return true; //找到对应的数字了
else
c--;//列数--
}
return false;
}
}
来源:CSDN
作者:duhongyu1
链接:https://blog.csdn.net/vstejin1/article/details/104048548