起始元素选在右上角,如果比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;
}
}