LeetCode 542 01 矩阵
- 题目描述
给定一个由 0 和 1 组成的矩阵,找出每个元素到最近的 0 的距离。
两个相邻元素间的距离为 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 矩阵相关推荐
- LeetCode 542. 01 矩阵
542. 01 矩阵 笔记 x*col+y这里卡了很久 class Solution { public:vector<vector<int>> updateMatrix(vec ...
- LeetCode 542. 01 矩阵(BFS DP)
文章目录 1. 题目 2. 解题 2.1 BFS 2.2 DP动态规划 1. 题目 给定一个由 0 和 1 组成的矩阵,找出每个元素到最近的 0 的距离. 两个相邻元素间的距离为 1 . 示例 1: ...
- Leetcode - 542. 01 矩阵
这道题目最重要的是多源BFS,然后今天被一个大佬的文章点醒,很多代码是需要背的!多源BFS也不例外.一定要背!!!! 大佬的链接(代码模板):https://blog.csdn.net/fuxuemi ...
- LeetCode 542. 01 Matrix--C++解法--动态规划
LeetCode 542. 01 Matrix–C++解法–动态规划 LeetCode题解专栏:LeetCode题解 LeetCode 所有题目总结:LeetCode 所有题目总结 大部分题目C++, ...
- leetcode 542. 01 Matrix | 542. 01 矩阵(图解,广度优先搜索)
题目 https://leetcode.com/problems/01-matrix/ 题解 这题很有趣,图解一下思路吧~ 可以想象成"感染"的过程. 从 1 开始逐层向外扩散,感 ...
- LeetCode 542. 01 Matrix
原题链接在这里:https://leetcode.com/problems/01-matrix/description/ 题目: Given a matrix consists of 0 and 1, ...
- [Leedcode][JAVA][第542题][01矩阵][BFS]
[问题描述]542. 01 矩阵 给定一个由 0 和 1 组成的矩阵,找出每个元素到最近的 0 的距离. 两个相邻元素间的距离为 1 . 示例 : 输入: 0 0 0 0 1 0 1 1 1 输出: ...
- 15.使用一样的BFS方法(代码几乎一模一样)解决多道LeetCode题目--542题(01矩阵)1765题(地图中的最高点)994腐烂的橘子
一.综述 本文总结自己刷LeetCode中遇到的使用BFS方法解决相同类型的题目.(代码几乎是一模一样) 二.01矩阵(LeetCode第542题) class Solution {int[][] d ...
- 01矩阵等比放大(Java代码、ACM格式)--2021.9.7百度笔试研发A卷
百度笔试题目:01矩阵等比放大(Java代码)–2021.9.7百度笔试研发A卷 一.题目详情: 第一行输入两个数,第一个数为矩阵的长和宽,第二个数为需要放大的倍数: 接下来输入的是矩形的内容. 示例 ...
最新文章
- 事件冒泡和阻止事件冒泡
- Linux其实非常好学
- 10.Azure应用程序网关(上)
- boost::histogram::accumulators::mean用法的测试程序
- 反思O2O演化的三个时代,大数据与智能化才是未来所在
- tensorflow-eagerAPI
- H.264的CAVLC(编码.解码)过程详解
- java旋转图片后边上变黑_Java旋转图像将背景的一部分变成黑色
- docker~从Dockerfile到Container的过程(终于算是OK了)
- 1.1.0-简介-P3-CAP 分布式 高可用
- python实现高精度加法_蓝桥杯-Python-高精度加法
- 标准模板库(STL)之 vector 列传 (二)
- Matplotlib库-Python数据可视化
- 用jmap和jps查看对象数量
- AC日记——找最大数序列 openjudge 1.9 10
- 如何一步步学习到精通JavaScript
- 电池单位中的毫安时与能量单位千焦及大卡的换算关系
- 易捷行云新一代私有云平滑无感升级|轻运维之升级
- 无刷直流电机matlab建模,基于MATLAB的无刷直流电机建模方法_郭丹蕊
- 右键 git找不到应用程序
热门文章
- 并发、并行、线程、进程与CPU基本概念
- 优化算法笔记|飞蛾扑火优化算法理解及实现
- 多功能mac代码编辑神器coderunner 4 比Xcode都强大
- Adobe Experience Design是什么软件?xd mac版下载安装教程 XD 2021发布
- 1.5编程基础之循环控制 34 求阶乘的和
- 第2课 春晓-2021.03.05 《小学生C++趣味编程》--C++、Scratch
- Intellij IDEA的java环境与安卓sdk配置实例教程
- Forbidden You don't have permission to access / on this server.解决方法
- ij运行tomcat_如何把本地Web项目部署到云服务器上
- 虚拟机CentOS8 网络配置