https://leetcode-cn.com/problems/er-wei-shu-zu-zhong-de-cha-zhao-lcof/solution/mian-shi-ti-04-er-wei-shu-zu-zhong-de-cha-zhao-zuo/
这个讲的特别清楚
//这个是从左下角数开始的
class Solution {
public:
bool findNumberIn2DArray(vector<vector<int>>& matrix, int target) {
int i = matrix.size() - 1, j = 0;
while(i >= 0 && j < matrix[0].size())
{
if(matrix[i][j] > target) i--;
else if(matrix[i][j] < target) j++;
else return true;
}
return false;
}
};
作者:jyd
链接:https://leetcode-cn.com/problems/er-wei-shu-zu-zhong-de-cha-zhao-lcof/solution/mian-shi-ti-04-er-wei-shu-zu-zhong-de-cha-zhao-zuo/
来源:力扣(LeetCode)
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
//这个是从右上角数开始的
class Solution {
public:
bool findNumberIn2DArray(vector<vector<int>>& matrix, int target) {
//二维数组是正方形
if(matrix.size()==0) return false;
int i=0;
int j=matrix[0].size()-1;
while(j>=0 && i<=matrix.size()-1){
if(matrix[i][j]>target) j--;
else if(matrix[i][j]<target) i++;
else return true;
}
return false;
}
};
注意!matrix.size()
是矩阵的行的数据matrix[0].size()
是矩阵的列的数据