当前位置: 首页 > news >正文

二分查找篇——搜索二维矩阵【LeetCode】遍历法

 74. 搜索二维矩阵

双层循环遍历法

一、算法逻辑(逐步通顺讲解每一步思路)

该算法的目标是判断一个给定的目标值 target 是否存在于二维矩阵 matrix 中。

题目给定的矩阵有如下两个特性:

  1. 每行元素从左到右升序排列;

  2. 每行的第一个整数大于前一行的最后一个整数(整个矩阵可以视作一个升序的「一维数组」)。

然而,这段代码 没有利用上述性质,而是采取了最简单直接的方式:

✅ 1️⃣ 获取矩阵维度

M = len(matrix):总行数;
N = len(matrix[0]):每行列数。

✅ 2️⃣ 遍历整个矩阵

使用两个嵌套循环,逐个元素遍历二维数组中的每一项:

  • 外层循环遍历每一行;

  • 内层循环遍历每一列。

✅ 3️⃣ 逐个比对元素值

如果当前元素 matrix[i][j] 等于 target,直接返回 True;否则继续查找。

✅ 4️⃣ 未找到则返回 False

所有元素遍历完后未找到目标值,返回 False


二、核心点总结

该算法核心非常简单直接:

  • 暴力穷举法:遍历整个二维数组逐个比对元素;

  • 未利用矩阵的有序特性,没有进行任何剪枝或优化;

  • ✅ 实现简单,容易理解;

  • ❌ 对于大数据量输入效率较低。

换句话说,这是最基础的解法(Baseline),适合初学者理解,但在面试或实际场景中不推荐使用

class Solution:def searchMatrix(self, matrix: List[List[int]], target: int) -> bool:M, N = len(matrix), len(matrix[0])for i in range(M):for j in range(N):if matrix[i][j] == target:return Truereturn False

三、时间复杂度分析

共 M 行,每行 N 个元素:

✅ 时间复杂度为 O(M × N)


四、空间复杂度分析

该算法仅使用了常数级别的辅助变量(i, j, M, N),不依赖任何额外数据结构或递归栈:

✅ 空间复杂度为 O(1)


✅ 总结一句话

这是一种最朴素的暴力搜索解法,时间复杂度为 O(M×N),空间复杂度 O(1),实现简单但未利用矩阵的有序性质,适合新手理解,不适合实际使用或面试场景,可进一步优化为「逐行二分查找」或「二维 -> 一维映射 + 二分」的高效解法。

http://www.dtcms.com/a/269607.html

相关文章:

  • qt-C++笔记之setCentralWidget的使用
  • Visual Studio Code 中统一配置文件在团队协作中的应用
  • 论文略读:Prefix-Tuning: Optimizing Continuous Prompts for Generation
  • Git 安装避坑指南:从环境检查到高级配置的全流程解析
  • EXCEL转html,含图片
  • Linux下SPHinXsys源码编译安装及使用
  • Flutter基础(前端教程③-跳转)
  • Wend看源码-RAGFlow(上)
  • nvm npm nrm 使用教程
  • 台式电脑如何连wifi 快速连接方法
  • synchronized 的使用和特性
  • 算法学习笔记:11.冒泡排序——从原理到实战,涵盖 LeetCode 与考研 408 例题
  • VBA经典应用69例应用8:取消预设任务
  • (三)C#使用yolo
  • 在教育领域中,如何通过VRM分片错序对视频进行加密?
  • git学习:首次创建仓库
  • ubuntu 运行脚本打开WIFI adb
  • YOLO在自动驾驶交通标志识别中的应用与优化【附代码】
  • Qt:图片切割
  • 代码详细注释:演示如何使用dup()系统调用复制文件描述符
  • Linux操作系统:再谈虚拟地址空间
  • const char* 、char*和char[]的区别
  • MySQL数据库访问(C/C++)
  • 恒创科技:香港站群服务器做seo站群优化效果如何
  • 2025年数据挖掘与计算机科学国际会议 (DMCS 2025)
  • 基于Docker Compose部署Traccar容器与主机MySQL的完整指南
  • 专题:2025数据资产AI价值化:安全、战略与应用报告|附400+份报告PDF、原数据表汇总下载
  • uniapp 监听物理返回按钮
  • 分水岭算法:图像分割的浸水原理
  • 视频号账号矩阵运营中定制开发开源 AI 智能名片 S2B2C 商城小程序的赋能研究