leetcode240
leetcode240

思路:我们将矩阵逆时针旋转45度,可以发现矩阵变成了一个二叉搜索树,往左走是小,往右走是大。这样就能以matrix[0] [j]为根开始搜索。

class Solution {
//10:20~10:28
public boolean doSearch(int[][] matrix,int i,int j,int target){
if (i>=matrix.length||i<0) return false;
if (j>=matrix[0].length||j<0) return false;
if (matrix[i][j]==target) return true;
if (matrix[i][j]>target) return doSearch(matrix,i,j-1,target);
if (matrix[i][j]<target) return doSearch(matrix,i+1,j,target);
return false;
}
public boolean searchMatrix(int[][] matrix, int target) {
int len1=matrix.length,len2=matrix[0].length;
return doSearch(matrix,0,len2-1,target);
}
}

浙公网安备 33010602011771号