542. 01 Matrix
来源:互联网 发布:盛势网络剧在线观看 编辑:程序博客网 时间:2024/06/05 22:38
/*Given a matrix consists of 0 and 1, find the distance of the nearest 0 for each cell.The distance between two adjacent cells is 1.Example 1: Input:0 0 00 1 00 0 0Output:0 0 00 1 00 0 0Example 2: Input:0 0 00 1 01 1 1Output:0 0 00 1 01 2 1Note:The number of elements of the given matrix will not exceed 10,000.There are at least one 0 in the given matrix.The cells are adjacent in only four directions: up, down, left and right.*/class Solution {public: vector<vector<int>> updateMatrix(vector<vector<int>>& matrix) { if(matrix.empty()) return matrix; int m=matrix.size(),n=matrix[0].size(); queue<pair<int,int>> q; for(int i=0;i<m;i++) for(int j=0;j<n;j++) if(matrix[i][j]==0) q.push(make_pair(i,j)); else matrix[i][j]=m+n; vector<pair<int,int>> dir={{1,0},{-1,0},{0,1},{0,-1}}; while(!q.empty()){ pair<int,int> tmp=q.front(); q.pop(); for(int k=0;k<dir.size();k++){ int r=dir[k].first + tmp.first; int c=dir[k].second + tmp.second; if(r>=0 && r<m && c>=0 && c<n && (matrix[r][c]>=matrix[tmp.first][tmp.second]+1)){ matrix[r][c]=matrix[tmp.first][tmp.second]+1; q.push(make_pair(r,c)); } } } return matrix; }};
阅读全文
0 0
- 542. 01 Matrix
- Leetcode-542. 01 Matrix
- 542. 01 Matrix
- [LeetCode]542. 01 Matrix
- 542. 01 Matrix
- 542. 01 Matrix
- leetcode 542. 01 Matrix
- 542. 01 Matrix
- 542. 01 Matrix
- 542. 01 Matrix 题解
- [leetcode]542. 01 Matrix
- 【LeetCode】542. 01 Matrix
- 542. 01 Matrix
- 542. 01 Matrix
- 542. 01 Matrix
- 542. 01 Matrix [LeetCode]
- [LeetCode] 542. 01 Matrix
- leetcode 542. 01 Matrix
- spring data redis防坑指南
- Beta分布及其应用
- 电脑截屏
- 无法通过8192在表空间中扩展
- idea建立javaweb
- 542. 01 Matrix
- android自定义控件(一)
- 开机播放音乐
- 实用工具网址记录
- TMemoryStream、String与OleVariant互转
- android之开机广播播放音乐
- 【学习摘记】马士兵bbs改良版_BBS改良版总结与反思
- BZOJ1051 受欢迎的牛 [Tarjan]
- Spark--Project Tungsten:让Spark将硬件性能压榨到极限