class Solution {
public:
bool searchArray(vector<vector<int>>& matrix, int target) {
if (matrix.empty() || matrix[0].empty()) return false;//检查边界
int i = 0, j = matrix[0].size() - 1;//行列
while (i < matrix.size() && j >= 0)//遍历行
{
int t = matrix[i][j];//当前数字
if (t == target) return true;//找到了
if (t > target) j -- ;//如果大于目标,直接看左边的列
else i ++ ;//如果小于目标,直接看下边的行
}
return false;
}
};
这个题就是通过这个数组的特点,把挨个遍历变成了一行一行一列一列的遍历。