剑指 Offer 04. 二维数组中的查找
class Solution {
public boolean findNumberIn2DArray(int[][] matrix, int target) {
//思路:依次对每行进行二分查找
//注意对特殊情况矩阵的判断,即二维数组为空或二维数组只有一行时。
if(matrix.length==0 || matrix[0].length<1) return false;
int n=matrix.length;
int m=matrix[0].length;
for(int i=0;i<n;i++){
int l=0;
int r=m-1;
while(l<=r){
int mid=(l+r)/2;
if(matrix[i][mid]>target){
r=mid-1;
}else if(matrix[i][mid]<target){
l=mid+1;
}else{
return true;
}
}
}
return false;
}
}