1. 题目描述
给定一个由 0 和 1 组成的矩阵,找出每个元素到最近的 0 的距离。
两个相邻元素间的距离为 1 。
  1. 题解
广度优先搜索
  1. 代码
class Solution {public:vector<vector<int>> updateMatrix(vector<vector<int>>& matrix) {int m=matrix.size();if (!m) return {};int n=matrix[0].size();vector<vector<int>> dp(m,vector<int>(n,-1));queue<pair<int,int>> que;for (int i=0;i<m;i++){for (int j=0;j<n;j++){if (!matrix[i][j]) {dp[i][j]=0;que.push({i,j});}}}int d[4][2]={0,1,1,0,0,-1,-1,0};while (!que.empty()){int cnt=que.size();while (cnt--){pair<int,int> tmp=que.front();que.pop();for (int k=0;k<4;k++){int x=tmp.first;int y=tmp.second;int xx=x+d[k][0];int yy=y+d[k][1];if (xx<0||yy<0||xx>=m||yy>=n||dp[xx][yy]!=-1) continue;dp[xx][yy]=dp[x][y]+1;que.push({xx,yy});}}}return dp;}
};

LeetCode 542 01 矩阵相关推荐

  1. LeetCode 542. 01 矩阵

    542. 01 矩阵 笔记 x*col+y这里卡了很久 class Solution { public:vector<vector<int>> updateMatrix(vec ...

  2. LeetCode 542. 01 矩阵(BFS DP)

    文章目录 1. 题目 2. 解题 2.1 BFS 2.2 DP动态规划 1. 题目 给定一个由 0 和 1 组成的矩阵,找出每个元素到最近的 0 的距离. 两个相邻元素间的距离为 1 . 示例 1: ...

  3. Leetcode - 542. 01 矩阵

    这道题目最重要的是多源BFS,然后今天被一个大佬的文章点醒,很多代码是需要背的!多源BFS也不例外.一定要背!!!! 大佬的链接(代码模板):https://blog.csdn.net/fuxuemi ...

  4. LeetCode 542. 01 Matrix--C++解法--动态规划

    LeetCode 542. 01 Matrix–C++解法–动态规划 LeetCode题解专栏:LeetCode题解 LeetCode 所有题目总结:LeetCode 所有题目总结 大部分题目C++, ...

  5. leetcode 542. 01 Matrix | 542. 01 矩阵(图解,广度优先搜索)

    题目 https://leetcode.com/problems/01-matrix/ 题解 这题很有趣,图解一下思路吧~ 可以想象成"感染"的过程. 从 1 开始逐层向外扩散,感 ...

  6. LeetCode 542. 01 Matrix

    原题链接在这里:https://leetcode.com/problems/01-matrix/description/ 题目: Given a matrix consists of 0 and 1, ...

  7. [Leedcode][JAVA][第542题][01矩阵][BFS]

    [问题描述]542. 01 矩阵 给定一个由 0 和 1 组成的矩阵,找出每个元素到最近的 0 的距离. 两个相邻元素间的距离为 1 . 示例 : 输入: 0 0 0 0 1 0 1 1 1 输出: ...

  8. 15.使用一样的BFS方法(代码几乎一模一样)解决多道LeetCode题目--542题(01矩阵)1765题(地图中的最高点)994腐烂的橘子

    一.综述 本文总结自己刷LeetCode中遇到的使用BFS方法解决相同类型的题目.(代码几乎是一模一样) 二.01矩阵(LeetCode第542题) class Solution {int[][] d ...

  9. 01矩阵等比放大(Java代码、ACM格式)--2021.9.7百度笔试研发A卷

    百度笔试题目:01矩阵等比放大(Java代码)–2021.9.7百度笔试研发A卷 一.题目详情: 第一行输入两个数,第一个数为矩阵的长和宽,第二个数为需要放大的倍数: 接下来输入的是矩形的内容. 示例 ...

最新文章

  1. 事件冒泡和阻止事件冒泡
  2. Linux其实非常好学
  3. 10.Azure应用程序网关(上)
  4. boost::histogram::accumulators::mean用法的测试程序
  5. 反思O2O演化的三个时代,大数据与智能化才是未来所在
  6. tensorflow-eagerAPI
  7. H.264的CAVLC(编码.解码)过程详解
  8. java旋转图片后边上变黑_Java旋转图像将背景的一部分变成黑色
  9. docker~从Dockerfile到Container的过程(终于算是OK了)
  10. 1.1.0-简介-P3-CAP 分布式 高可用
  11. python实现高精度加法_蓝桥杯-Python-高精度加法
  12. 标准模板库(STL)之 vector 列传 (二)
  13. Matplotlib库-Python数据可视化
  14. 用jmap和jps查看对象数量
  15. AC日记——找最大数序列 openjudge 1.9 10
  16. 如何一步步学习到精通JavaScript
  17. 电池单位中的毫安时与能量单位千焦及大卡的换算关系
  18. 易捷行云新一代私有云平滑无感升级|轻运维之升级
  19. 无刷直流电机matlab建模,基于MATLAB的无刷直流电机建模方法_郭丹蕊
  20. 右键 git找不到应用程序

热门文章

  1. 并发、并行、线程、进程与CPU基本概念
  2. 优化算法笔记|飞蛾扑火优化算法理解及实现
  3. 多功能mac代码编辑神器coderunner 4 比Xcode都强大
  4. Adobe Experience Design是什么软件?xd mac版下载安装教程 XD 2021发布
  5. 1.5编程基础之循环控制 34 求阶乘的和
  6. 第2课 春晓-2021.03.05 《小学生C++趣味编程》--C++、Scratch
  7. Intellij IDEA的java环境与安卓sdk配置实例教程
  8. Forbidden You don't have permission to access / on this server.解决方法
  9. ij运行tomcat_如何把本地Web项目部署到云服务器上
  10. 虚拟机CentOS8 网络配置