题目描述:
编写一个高效的算法来判断 m x n 矩阵中,是否存在一个目标值。该矩阵具有如下特性:
(1)每行中的整数从左到右按升序排列。
(2)每行的第一个整数大于前一行的最后一个整数。
示例:
解题思路:
解:
1.public boolean searchMatrix(int[][] matrix, int target) {
int m=matrix.length;//获取行数
int n=matrix[0].length;//获取列数
boolean flag=false;//默认找不到目标值
for(int i=0;i
flag=true;
}
}
}
return flag;
}
2.public boolean searchMatrix(int[][] matrix, int target) {
int m=matrix.length;//获取行数
int n=matrix[0].length;//获取列数
int l=0;
int r=mn-1;
while(l<=r){
int mid=(l+r)/2;
int element=matrix[mid/n][mid%n];//找到一维矩阵中的整数(0-mn-1)在matrix二维矩阵中的位置
if(element==target){
return true;
}else if(element>target){
r=mid-1;
}else{
l=mid+1;
}
}
return false;
}

