- 算法
二分查找 - 核心思想
将整个过程分为两个部分,第一个部分为判定在哪行,然后对当前行进行二分查找。 - 代码
class Solution {
public boolean searchMatrix(int[][] matrix, int target) {
int m = matrix.length;
int n = matrix[0].length;
int webM = -1;
for(int i = 0; i < m;i++){
if(matrix[i][0] <= target){
webM = i;
}
}
if(webM == -1) return false;
int left = 0,right = n - 1;
while(left <= right){
int mid = left + (right - left)/2;
System.out.println("mid:"+ mid);
System.out.println("left:"+ left);
System.out.println("right:"+ right);
if(matrix[webM][mid] == target) return true;
else if(matrix[webM][mid] < target) left = mid + 1;
else right = mid - 1;
}
return false;
}
}