题目
对一个n*n矩阵进行搜索,矩阵有如下特征
1. 每行的是从左到右都是排序的
2. 每行的首数大于尾数
二分查找
- A是m*n的矩阵
- A[k]=matrix[i][j]
- i=k/n
- j=k%n
复杂度
O(lg(m*n))
import java.util.*;
public class Solution{
public boolean searchMatrix(int[][] matrix,int target)
{
int m=matrix.length;
int n=matrix[0].length;
int low=0;
int high=m*n-1;
while(low<high){
int mid=(low+high)/2;
if(matrix[mid/n][mid%n] == target){
return true;
}
else if(matrix[mid/n][mid%n]<target)
low=mid+1;
else
high=mid-1;
}
return false;
}
}