思路
1、直接遍历
直接遍历即可,也没啥思路
2、从右上角遍历
思路已经在代码里
代码
1、直接遍历
class Solution {
public boolean findNumberIn2DArray(int[][] matrix, int target)
{
for (int i = 0; i < matrix.length; i++)
{
for (int j = 0; j < matrix[i].length; j++)
{
if (matrix[i][j] == target)
{
return true;
}
}
}
return false;
}
}
2、从右上角遍历
class Solution {
//从右上角开始寻找
public boolean findNumberIn2DArray(int[][] matrix, int target)
{
if (matrix == null || matrix.length == 0)
{
return false;
}
int m = matrix.length, n = matrix[0].length;
int row = 0, col = n - 1;
while (row < m && col >= 0)
{
if (matrix[row][col] < target) //该数小于目标数,则向下一行寻找
{
row++;
} else if (matrix[row][col] > target) //该数大于目标数,向前寻找
{
col--;
} else //找到了
{
return true;
}
}
return false;
}
}