Idea: Es casi lo mismo que la búsqueda de matrices anterior, comenzando desde la esquina superior derecha, si matriz [x] [y]> objetivo, entonces y–, si matriz [x] [y] <objetivo, luego x ++, y así sucesivamente hasta encontrar el objetivo , Si aún no se encuentra después de cruzar el límite, significa que el objetivo no está en la matriz;
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;
}