题目链接
题目描述
解题思路
将二维数组看成一个m*n长度的一维数组,利用二分法求得
mid还原坐标:i=mid/n j=mid%n
代码
public class t2 {
public boolean searchMatrix(int[][] matrix, int target) {
int m=matrix.length,n=matrix[0].length;
int left=0,right=m*n-1;
while(left<=right){
int mid=(left+right)/2;
int x=matrix[mid/n][mid%n];
if(x==target)return true;
else if(x>target)right=mid-1;
else left=mid+1;
}
return false;
}
}