class Solution {
public:
bool Find(int target, vector<vector<int> > array) {
//本题会发现如果从左下角或者右上角出发寻找某个数会非常方便
//因为如果当前数组中的数不是想找的那个数,我们根据大小关系很容易就能知道接下来往哪边走
//会更容易找到该数
int n=array.size();int m=array[0].size();
int i=array.size()-1;int j=0;//从左下角出发
while(i>=0&&j<m){
if(array[i][j]==target)
return true;
else if(array[i][j]<target){
j++;
}
else i--;
}
return false;
}
};
public:
bool Find(int target, vector<vector<int> > array) {
//本题会发现如果从左下角或者右上角出发寻找某个数会非常方便
//因为如果当前数组中的数不是想找的那个数,我们根据大小关系很容易就能知道接下来往哪边走
//会更容易找到该数
int n=array.size();int m=array[0].size();
int i=array.size()-1;int j=0;//从左下角出发
while(i>=0&&j<m){
if(array[i][j]==target)
return true;
else if(array[i][j]<target){
j++;
}
else i--;
}
return false;
}
};