【二分查找】LeetCode 240. 搜索二维矩阵 II
题目链接
思路
逐行判断
逐行检查最右侧的元素是否比 target
大,如果比 target
大则对当前行进行二分搜索。
二分矩阵
待完成
代码
逐行判断
class Solution {
public boolean searchMatrix(int[][] matrix, int target) {
int m = matrix.length;
int n = matrix[0].length;
int row = 0;
while(row < m && target > matrix[row][n - 1]){
row++;
}
while(row < m){
if(binarySearch(matrix[row], target)){
return true;
}
row++;
}
return false;
}
private boolean binarySearch(int[] temp, int target){
int left = 0;
int right = temp.length;
while(left < right){
int mid = (right - left) / 2 + left;
if(temp[mid] == target){
return true;
}else if(temp[mid] < target){
left = mid + 1;
}else{
right = mid;
}
}
return false;
}
}
二分矩阵
待完成