剑指 Offer 04. 二维数组中的查找

剑指 Offer 04. 二维数组中的查找

起始元素选在右上角,如果比target大,则向左移动;如果比target小,则向下移动。时间复杂度: O ( m + n ) O(m + n) O(m+n)

class Solution {
    public boolean findNumberIn2DArray(int[][] matrix, int target) {
        if(matrix.length == 0) return false;
        int m = matrix.length, n = matrix[0].length;
        int i = 0, j = n - 1;
        while(i < m && j >= 0){
            if(matrix[i][j] < target) i++;
            else if(matrix[i][j] > target) j--;
            else return true;
        }
        return false;
    }
}

你可能感兴趣的:(#,剑指offer,算法)