刷题笔记#警告⚠
- 在一个循环里,我们重复用到的值,就把他单独赋值为一个变量,避免了一些麻烦, 千万别向下面代码这样,像一坨**~~~。
bool findNumberIn2DArray(vector<vector<int>>& matrix, int target)
{
int x = 0;
int size = matrix.size();
if (size <= 0) return false;
int y = matrix[0].size() - 1;
if (matrix[0].size() <= 0) return false;
while (x < size && y >= 0)
{
if (matrix[x][y] < target)
{
x++;
if (x > size)
{
break;
}
}
if (matrix[x][y] > target)
{
y--;
if (y < 0)
{
break;
}
}
if (matrix[x][y] == target) return true;
}
return false;
}
while (x < size && y >= 0)
{
int temp = matrix[x][y] ;
if (temp < target)
{
x++;
}
if (temp > target)
{
y--;
}
if (temp == target)
{
return true;
}
}