题目:
分析:
我们已知该二维数组的每一行都是有序的,所以我们可以从这里下手
我们可以根据每一行的最后一个数判断target应该会出现在哪一行
我们从上到下进行搜索
确定target会在行数
再在该行中进行遍历搜索
代码:
class Solution {
public boolean searchMatrix(int[][] matrix, int target) {
int n=matrix.length;
if(n==0) return false;
int m=matrix[0].length;
if(m==0) return false;
for(int i=0;i<matrix.length;i++){
if(target<=matrix[i][m-1]){
for(int j=0;j<m;j++){
if(target==matrix[i][j])
return true;
}
return false;
}
}
return false;
}
}
时间复杂度是O(m+n)