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

LeetCode 01矩阵中距离题解

LeetCode 01矩阵中距离题解

题目描述

给定一个 01 矩阵,找到每个 0 到最近的 0 的距离。

示例

输入:mat = [[0,0,0],[0,1,0],[1,1,1]]
输出:[[0,0,0],[0,1,0],[1,2,1]]

解题思路

方法:BFS

思路

  • 使用 BFS 从所有 0 的位置开始搜索。
  • 记录每个 1 到最近的 0 的距离。

复杂度分析

  • 时间复杂度:O(m * n)。
  • 空间复杂度:O(m * n)。

代码实现

from collections import deque def update_matrix(mat): m, n = len(mat), len(mat[0]) result = [[-1] * n for _ in range(m)] queue = deque() for i in range(m): for j in range(n): if mat[i][j] == 0: result[i][j] = 0 queue.append((i, j)) directions = [(0, 1), (0, -1), (1, 0), (-1, 0)] while queue: i, j = queue.popleft() for di, dj in directions: ni, nj = i + di, j + dj if 0 <= ni < m and 0 <= nj < n and result[ni][nj] == -1: result[ni][nj] = result[i][j] + 1 queue.append((ni, nj)) return result # 测试 def test_update_matrix(): mat = [[0, 0, 0], [0, 1, 0], [1, 1, 1]] print(update_matrix(mat)) # 输出:[[0, 0, 0], [0, 1, 0], [1, 2, 1]] if __name__ == "__main__": test_update_matrix()

总结

01矩阵中距离是 BFS 的典型应用,从所有 0 的位置开始搜索,计算每个 1 到最近的 0 的距离。

http://www.cnnetsun.cn/news/2437805.html

相关文章:

  • LeetCode 太平洋大西洋水流题解
  • 网安0基础学习之计算机网络基础安全知识
  • 别再瞎调ADC采样率了!用STM32定时器触发,1us精准采集5KHz正弦波的保姆级配置
  • 别再只会用if-else了!用STM32状态机实现按键长短按与双击(附完整代码)
  • DLSS Swapper:三分钟掌握游戏性能优化的终极方案
  • 为什么你的 Agent Debug 成本比开发更高:可观测性缺失带来的灾难
  • 告别背包爆满!TQVaultAE:泰坦之旅装备管理的终极解决方案
  • GodotJS:用JavaScript/TypeScript开发Godot游戏的完整指南
  • 5分钟快速上手:用particles.js为网站添加惊艳粒子特效
  • B站视频下载终极指南:5步轻松掌握BilibiliDown完整教程
  • 卡片里放图片?用 memory:// 协议才是正确打开方式
  • Python机器学习库精选指南:best-of-ml-python项目深度解析与应用
  • SSH 远程登录协议
  • 避开STC8H-ADC的五个常见坑:时钟配置、通道切换与结果读取的注意事项
  • MetaClaw:开源元数据提取工具的设计原理与实战应用
  • 企业如何通过统一api网关管理内部多个ai模型调用
  • 嵌入式开发调试实战:从硬件信号到软件逻辑的完整解决方案
  • MySQL-进阶篇-视图/存储过程/触发器
  • 别再乱改node_modules了!pdfjs-dist字体加载警告的三种正确解决姿势
  • 解决Win11家庭版运行软件程序提示【管理员已阻止你运行此应用】
  • 别再只盯着NXP和Impinj了!盘点5款国产超高频RFID芯片的‘独门绝技’
  • AList搭建好了,下一步怎么用?手把手教你用RaiDrive在Windows上挂载WebDAV本地磁盘
  • CAXA 直线命令
  • AI Agent 项目学习笔记(二):Spring AI 与 ChatClient 主链路解析
  • codex出现Reconnecting和stream disconnected before completion:stream closed before response.complete解决方案
  • 紧急通知:FAO 2024渔业AI伦理新规已生效!NotebookLM合规使用红线清单(含数据脱敏、模型可解释性、渔民知情权三重校验表)
  • 新时代的信息茧房
  • 开源威胁检测工具openclaw-nie-guard部署与实战指南
  • 保姆级图解:用MMDetection3D复现SMOKE3D时,DLA34骨干网络的特征图到底怎么传?
  • 终极指南:5步掌握Rusted PackFile Manager打造Total War模组