class Solution {
public:
bool searchMatrix(vector<vector<int>>& matrix, int target) {
int n = matrix.size();
if (n == 0) return false;
int m = matrix[0].size();
if (m == 0) return false;
int r = 0, c = m - 1;
while (r < n && c >= 0) {
if (matrix[r][c] == target) {
return true;
} else if (matrix[r][c] > target) {
--c;
} else {
++r;
}
}
return false;
}
};

本文介绍了一个高效的二维矩阵搜索算法,该算法能在O(n)的时间复杂度内查找目标元素是否存在。通过遍历矩阵右上角开始,根据目标值与当前值大小比较决定向左还是向下移动,直至找到目标值或遍历结束。

被折叠的 条评论
为什么被折叠?



