剑指 Offer 04. 二维数组中的查找(中等)

孜孜不倦fly / 2023-08-04 / 原文

题目:

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--;            //左下角元素大于target时,删除这一整行(这一行都比target大)
            else if(matrix[i][j]<target)j++;       //左下角元素小于target时,删除这一整列(这一列都比target小)
            else return true;                      //相等则找到
        }
        return false;            //删光了,没找着
    }
};

以上代码转自力扣讨论区