Leetcode 240. 搜索二维矩阵 II

心路历程:

这道题很容易被二分搜索给迷惑,但是仔细看会发现这道题从矩阵的右上角或者左下角来看的话这是一个二分搜索树。

以右上角为例,每个元素的右子树都比它大,左子树都比它小,并且这个顺序可以迭代。因此这个问题变成了从根节点就开始递归搜索的问题。由于值已经按照二维数组给出了,所以只需要控制数组的索引变化来遍历树即可。

注意的点:

1、while循环的判断条件可以用是否在边界内

解法:二叉搜索树建模+双指针

python 复制代码
class Solution:
    def searchMatrix(self, matrix: List[List[int]], target: int) -> bool:
        n, m = len(matrix), len(matrix[0])
        i, j = 0, m-1
        last_value = matrix[i][j]
        while 0 <= i < n and 0 <= j < m:
            if matrix[i][j] == target: return True
            elif matrix[i][j] > target:  j -= 1
            elif matrix[i][j] < target: i += 1  # 为了便于阅读没用else
        return False
相关推荐
zone77394 小时前
006:RAG 入门-面试官问你,RAG 为什么要切块?
后端·算法·面试
CoovallyAIHub6 小时前
OpenClaw 近 2000 个 Skills,为什么没有一个好用的视觉检测工具?
深度学习·算法·计算机视觉
CoovallyAIHub6 小时前
CVPR 2026 | 用一句话告诉 AI 分割什么——MedCLIPSeg 让医学图像分割不再需要海量标注
深度学习·算法·计算机视觉
CoovallyAIHub7 小时前
Claude Code 突然变成了 66 个专家?这个 5.8k Star 的开源项目,让我重新理解了什么叫"会用 AI"
深度学习·算法·计算机视觉
兆子龙7 小时前
前端哨兵模式(Sentinel Pattern):优雅实现无限滚动加载
前端·javascript·算法
xlp666hub10 小时前
Leetcode第五题:用C++解决盛最多水的容器问题
linux·c++·leetcode
CoovallyAIHub10 小时前
9个视觉语言模型工厂实测:Qwen 87.9%碾压全场,你的显卡能跑哪个?
算法
SparkX开源AI知识库11 小时前
手摸手带你安装OpenClaw并对接飞书
算法·架构
一语071611 小时前
3分钟搞懂深度学习AI:实操篇:卷积层
人工智能·算法