Leetcode刷题记录32——搜索二维矩阵 II

题源:https://leetcode.cn/problems/search-a-2d-matrix-ii/description/?envType=study-plan-v2&envId=top-100-liked

题目描述:

思路一:
💡 解题思路:利用矩阵有序特性 + 双指针法(Z 字形搜索)

由于矩阵每一行和每一列都是有序的,我们可以利用这个特性,避免暴力遍历所有元素。

✅ 核心思想:

我们从矩阵的 右上角 开始搜索:

  • 如果当前值等于 target:找到目标,返回 True
  • 如果当前值大于 target:说明这一列的下面都更大,可以直接排除 → 向左移动(col -= 1)
  • 如果当前值小于 target:说明这一行的左边都更小,可以直接向下找更大的 → 向下移动(row += 1)

这样我们就能像"走楼梯"一样,逐步逼近目标值。

代码如下:

python 复制代码
class Solution(object):
    def searchMatrix(self, matrix, target):
        """
        :type matrix: List[List[int]]
        :type target: int
        :rtype: bool
        """
        row = 0
        col = len(matrix[0]) - 1

        while row <= len(matrix) -1 and col >= 0:
            if target == matrix[row][col]:
                return True
            elif target > matrix[row][col]:
                row += 1
            else:
                col -= 1
        
        return False

执行时间如下:

相关推荐
信奥卷王5 小时前
[GESP202609 六级] 分树规划
算法
夏幻灵5 小时前
LeetCode 21:合并两个有序链表——双指针与哑节点详解
算法·leetcode·链表
徐小黑ACG6 小时前
Golang 基础05 结构体struct
开发语言·算法·golang
Navigator_Z7 小时前
LeetCode //C - 1286. Iterator for Combination
c语言·算法·leetcode
数智工坊7 小时前
视觉SLAM第12讲|地图构建:单目稠密重建、RGB-D点云与八叉树地图全解析
人工智能·深度学习·矩阵·机器人
北极有牛7 小时前
cpp学习笔记--常量指针
java·开发语言·算法
GPU实战笔记7 小时前
云端 GPU 训练的账户余额提醒:它能说明什么,不能说明什么?
深度学习·算法·成本管理·gpu云计算·云端训练
浮链序8 小时前
怎么证明"你这个模型是偷我的"——把蒸馏变成取证工具
算法·安全·llm
小O的算法实验室8 小时前
IEEE TMC,面向异构物联网的多目标量子行为拓扑优化算法
算法