思路
分治:每次枚举矩形左下角的数做对比,相等就返回,大于目标值则删除列,小于目标值则删除行,最后没有找到返回false;
code
class Solution {
public:
bool searchMatrix(vector<vector<int>>& matrix, int target) {
int n = matrix.size(), m = matrix[0].size();
int i = n - 1 , j = 0;
while (i >= 0 && j < m) {
if (matrix[i][j] == target) return true;
else if (matrix[i][j] > target) i--;
else j++;
}
return false;
}
};