LeetCode 240 Search a 2D Matrix II
思路
从矩阵的右上角开始,往左可视为BST的左子树,往右可视为BST的右子树。复杂度为O(n)
代码
class Solution {
public:
bool searchMatrix(vector<vector<int>>& matrix, int target) {
if (matrix.empty() || matrix[0].empty()) return false;
int m = matrix.size(), n = matrix[0].size();
int i = 0, j = n-1;
while (i < m && j >= 0) {
if (matrix[i][j] > target) --j;
else if (matrix[i][j] < target) ++i;
else return true;
}
return false;
}
};