java
复制代码
class Solution {
public boolean searchMatrix(int[][] matrix, int target) {
int n=matrix.length, m=matrix[0].length;
int row1=0, row2=n-1, col1=0, col2=m-1;
int row_mid, col_mid;
while(row1<=row2){
row_mid = (row1+row2)/2;
while(col1<=col2){
col_mid = (col1+col2)/2;
if(matrix[row_mid][col_mid]==target){
return true;
}
if(matrix[row_mid][col_mid]>target){
col2 = col_mid-1;
}
else{
col1 = col_mid+1;
}
}
col1=0;
col2=m-1;
if(matrix[row_mid][col2]>=target){
row2 = row_mid-1;
}
else{
row1 = row_mid+1;
}
}
return false;
}
}