思路:和之前的矩阵查找几乎一模一样,从右上角开始遍历,如果matrix[x][y]>target,则y–,如果matrix[x][y]<target,则x++,这样往复直到找到target,如果越过边界仍然找不到,说明target不在数组中;
bool searchMatrix(vector<vector<int>> &matrix, int target)
{
int len_row = matrix.size(); //行数
if (len_row == 0)
return false;
int len_col = matrix[0].size(); //列数
int x = 0, y = len_col - 1;
while (x < len_row && y >= 0) //判断是否越过边界
{
if (matrix[x][y] == target)
{
return true;
}
else if (matrix[x][y] < target)
{
x++;
}
else
{
y--;
}
}
return false;
}