class Solution {
public boolean searchMatrix(int[][] matrix, int target) {
if (matrix == null || matrix.length ==0) {
return false;
}
int l =0;
int r =matrix.length * matrix[0].length -1;
while(l <=r) {
int mid = l +(r-l)/2;
// 将二维数组转化为一维数组 按照一维数组的方式进行二分查找
int midValue = matrix[mid/matrix[0].length][mid%matrix[0].length];
if (midValue < target) {
l =mid +1;
}
else if (midValue > target) {
r = mid -1;
}
else{
return true;
}
}
return false;
}
}