题目: https://oj.leetcode.com/problems/search-a-2d-matrix/
思路: 从二维数组的左下角或者右上角开始比较。这样最多只需要遍历一遍二维数组即可。
代码:
class Solution {
public:
bool searchMatrix(vector<vector<int> > &matrix, int target) {
int found = false;
int rows = matrix.size();
int cols = 0;
if (rows > 0) cols = matrix[0].size();
int i = 0, j = cols - 1;
while (i < rows && j >= 0)
{
if (matrix[i][j] == target)
{
found = true; break;
}
else if (matrix[i][j] > target)
{
j--;
}
else
{
i++;
}
}
return found;
}
};