240. 搜索二维矩阵 II

2021-09-08  本文已影响0人  justonemoretry
image.png

解法

class Solution {
    public boolean searchMatrix(int[][] matrix, int target) {
        // 选点左下角,小于target则右移,大于target则上移
        // 有种二叉查找树的感觉,每个节点的上方小于自己,像左节点
        // 下方大于自己,像右节点
        int row = matrix.length - 1;
        int col = 0;
        // 不越界的情况进行移动
        while (row >= 0 && col <= matrix[0].length - 1) {
            if (matrix[row][col] > target) {
                // 大于,向上移,上面元素更小
                row--;
            } else if (matrix[row][col] < target) {
                // 小于,向右移,
                col++;
            } else {
                return true;
            }
        }
        return false;
    }
}
上一篇 下一篇

猜你喜欢

热点阅读