方法一,暴力法
class Solution {
public boolean searchMatrix(int[][] matrix, int target) {
for(int i=0;i<matrix.length;i++)
for(int j=0;j<matrix[0].length;j++){
if(matrix[i][j] == target) return true;
}
return false;
}
}
方法二:删减区域法
从矩阵的左下角开始遍历,如果当前元素大于target则退至上一行,如果当前元素小于target则进至下一列,否则返回true
class Solution {
public boolean searchMatrix(int[][] matrix, int target) {
int curX = matrix.length-1,curY=0;
while(curX>=0 && curY<=matrix[0].length-1){
if(matrix[curX][curY] == target) return true;
else if(matrix[curX][curY] > target) curX--;
else curY++;
}
return false;
}
}