原题链接
右边和下边都是涨的,那肯定是不合适不好找,但是要是一边是减少一边是增加,就好办了
所以从右上角开始查找,如果是小的,那么就往左走,如果是大的就往下走
找到答案的话就返回,越界了还没返回就是找不到,return false;
代码如下:class Solution {
public:
bool findNumberIn2DArray(vector>& matrix, int target) {
int n = matrix.size();
if(n == 0) return false;
int x = 0, y = matrix[0].size() - 1;
while(x < matrix.size() && y >= 0){
if(target == matrix[x][y]) return true;
else if(target > matrix[x][y]) x ++;
else if(target < matrix[x][y]) y --;
}
return false;
}
};



