leetcode240

leetcode240

image-20241125102951812

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

image-20241125103302174

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);
    }
}
posted @ 2024-11-25 10:35  vast_joy  阅读(13)  评论(0)    收藏  举报