提交代码
class Solution {
public boolean searchMatrix(int[][] matrix, int target) {
if(matrix==null||matrix.length==0||matrix[0].length==0) return false;
int m=matrix.length,n=matrix[0].length;
if(target<matrix[0][0]||target>matrix[m-1][n-1]) return false;
int p1,p2,mid;
for(int i=0;i<m;i++) {
if(matrix[i][0]>target) return false;
if(matrix[i][n-1]<target) continue;
p1=0;p2=n-1;
while(p1<=p2) {
mid=(p1+p2)/2;
if(matrix[i][mid]==target) return true;
else if(target<matrix[i][mid])
p2=mid-1;
else
p1=mid+1;
}
}
return false;
}
}
运行结果