题目描述:

image.png

示例:

image.png

image.png

思路:

1.直接遍历整个矩阵 matrix,判断 target 是否出现即可。(官方)
2.将二维数组转换成一维数组,然后再进行查找(自己想的)

解1:

class Solution {

public boolean searchMatrix(int[][] matrix, int target) {

for (int[] row : matrix) {//增强for循环进行二维数组的遍历

for (int element : row) {

if (element == target) {

return true;

}

}

}

return false;

}

}

解2:

class Solution {

public boolean searchMatrix(int[][] matrix, int target) {

int m=matrix.length;//获取行数

int n=matrix[0].length;//获取列数

int r=1;//一维矩阵的行数

int c=m*n;//一维矩阵的列数

boolean flag=false;//默认查找失败

int[][] ans=new int[r][c];

for(int x=0;x<m*n;++x){//将二维数组转换成一维数组进行搜索

ans[x/c][x%c]=matrix[x/n][x%n];//将mn矩阵转换成rc矩阵

}

for(int i=0;i<ans[0].length;++i){//查找

if(ans[0][i]==target){

flag=true;

}

}

return flag;

}

}