设计一个算法来搜索 m x n 矩阵 matrix 中的一个目标值 target 。该矩阵具有以下特性:
每行的元素从左到右升序排列。
每列的元素从上到下升序排列。
关键点:从矩阵左下角开始查找。
注意:小心数组越界。
class Solution {
public:
bool searchMatrix(vector<vector<int>>& matrix, int target) {
if (matrix.empty()) return false;
int m = matrix.size();
int n = matrix[0].size();
int i = m - 1;
int j = 0;
while ( i >= 0 && j < n && matrix[i][j] != target) {
if (matrix[i][j] > target) {
i--;
}
else {
j++;
}
}
if (i >= 0 && j < n && matrix[i][j] == target) {
return true;
}
else {
return false;
}
}
};