import java.util.*;


public class Solution {
    /**
     * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
     *
     *
     * @param matrix int整型二维数组
     * @param target int整型
     * @return bool布尔型
     */
    public boolean searchMatrix (int[][] matrix, int target) {
        int start = 0;
        int end = matrix[0].length - 1;
        while ((start < matrix.length) && (end >= 0)) {
            if (target > matrix[start][end]) {
                end--;
            } else if (target < matrix[start][end]) {
                start++;
            } else {
                return true;
            }
        }
        return false;
    }
}

本题知识点分析:

1.二分查找

2.矩阵

3.数组遍历

4.数学模拟

本题解题思路分析:

1.start代表二维数组的行

2.end代表二维数组的列

3.由于矩阵是降序排列的,因此可以用二分查找寻找mid值,道理和普通的二分查找一样

本题使用编程语言: Java