LeetCode 542. 01 矩阵
542. 01 矩阵
笔记 x*col+y这里卡了很久
class Solution {
public:vector<vector<int>> updateMatrix(vector<vector<int>>& matrix) {row=matrix.size(), col=matrix[0].size();vector<vector<int>> res(row);for(int i=0;i<row;i++) res[i].resize(col);fill(visited, visited+10005, false);for(int i=0;i<row;i++){for(int j=0;j<col;j++){if(matrix[i][j]==0) res[i][j]=0;else res[i][j]=get_value(i, j, matrix, res);}}return res;}
private:int row, col;bool visited[10005];vector<vector<int> > v = {{1,0},{-1,0},{0,1},{0,-1}};int get_value(int x, int y, vector<vector<int>>& matrix, vector<vector<int>>& res){queue<vector<int>> q;q.push({x, y});int step = 0;while(!q.empty()){int size = q.size();while(size){vector<int> t = q.front();x=t[0];y=t[1];if(matrix[x][y]==0){visited[x*col+y]=true;return step;}if(visited[x*col+y]==true){return step+res[x][y];}q.pop();for(int i=0;i<4;i++){int nx = t[0]+v[i][0], ny=t[1]+v[i][1];if(nx<row && ny <col && nx>=0 && ny>=0){q.push({nx, ny});}}size--;}step++;}return 0;}
};
LeetCode 542. 01 矩阵相关推荐
- 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 矩阵
题目描述 给定一个由 0 和 1 组成的矩阵,找出每个元素到最近的 0 的距离. 两个相邻元素间的距离为 1 . 题解 广度优先搜索 代码 class Solution {public:vector& ...
- 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卷 一.题目详情: 第一行输入两个数,第一个数为矩阵的长和宽,第二个数为需要放大的倍数: 接下来输入的是矩形的内容. 示例 ...
最新文章
- html5计数器,CSS 计数器(counter)
- 不会发布npm包?进来看看?
- SAP 学习笔记 --- 04-26 02.Material Master
- window难以实现的linux,工欲善其事必先利其器--几步实现window与linux之间的文件共享...
- 即时通讯安全问题大曝光
- Composer 安装时要求输入授权用户名密码
- labview与威纶通触摸屏ftp通讯
- 学习通网页版无法粘贴至提交答案框的解决方法
- 个人成长(学习方法)
- iphone修改app名称_iOS应用如何修改APP图标?
- hash冲突以及hash冲突的解决方法
- 防卒指南:996+健身≈猝死
- link_path_walk()分析
- 如何测试计算机的运行速度,如何查看cpu运行速度
- JSON.stringify(value, replacer, space)详解
- 常用财务指标计算公式(信贷指标公式)
- java中关于包的描述_下列关于Java包的描述中,错误的是() (1.0分)_学小易找答案
- Ubuntu 两步安装 Teamviewer 最新版本(官方方法)
- 【理论】操作系统导论
- wilson免费视频学习网站