- 题目描述:
- 示例:
- 思路:
- 解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;
- }
- }
题目描述:
示例:

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