参考官方题解做出来的,感谢官方题解,这种方法真的很高效。

图片说明

class Solution {
public:
    bool Find(int target, vector<vector<int> > array) {
        if(!array.size()) return false;



        int r = 0, c = array[0].size()-1;

        while(r< array.size()&&c>=0){//退出条件(r从0一直找到末尾,c从最后一列一直找到第一列)
            if(target == array[r][c]){
                return true;
            }else if(target< array[r][c]){
                c--;
            }else{
                r++;
            }
        }

        return false;
    }
};