行列都有序的二维矩阵的查找
- 有个很经典的思路,以行列都是不降序为例,可以以左下角或者右上角为例,以这个副对角线为分割线,把矩阵看成一个二叉查找树。
code
class Solution {
public:
bool searchMatrix(vector<vector<int>>& matrix, int target) {
int n=matrix.size();
if(n==0){
return false;
}
int m=matrix[0].size();
if(m==0){
return false;
}
int i=0;
int j=m-1;
while(i>=0 && i<n && j>=0 && j<m){
if(target==matrix[i][j]){
return true;
}else if(target<matrix[i][j]){
j--;
}else{
i++;
}
}
return false;
}
};