二维数组的查找
思路
- 从右上角开始找,target大于则向下找
- 小于则往左找
- 难点while的循环条件
class Solution {
public:
bool findNumberIn2DArray(vector<vector<int>>& matrix, int target)
{
if (matrix.empty() || matrix[0].empty())
return false;
int n_len = matrix.size();
int m_len = matrix[0].size();
int n_cur = 0;
int m_cur = m_len - 1;
while (n_cur < n_len && m_cur >= 0)
{
if (matrix[n_cur][m_cur] > target)
{
m_cur--;
}
else if (matrix[n_cur][m_cur] < target)
{
n_cur++;
}
else
{
return true;
}
}
return false;
}
};