题意
在一个特殊的矩阵(每个元素的右方和下方都比它大)中查找目标值
题解
根据规律来解。即从右上方开始查找,若目标值大于当前值,说明目标在当前值的下方;若小于,则说明目标在当前值左边。
代码
class Solution {
public:
bool searchMatrix(vector<vector<int>>& matrix, int target) {
int m = matrix.size(), n = matrix[0].size();
int i = 0, j = n - 1;
while(i < m && j >= 0)
{
if(matrix[i][j] == target)
return true;
else if(matrix[i][j] > target)
j--;
else
i++;
}
return false;
}
};