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;
    }
};