leetcode:0-1 矩阵问题
来源:互联网 发布:sqlserver mm dd 编辑:程序博客网 时间:2024/06/05 02:22
//DFS (Time Limited)class Solution {public: int dfs(vector<vector<int>> &matrix,int i,int j,int R,int C,bool** visited){ int res=R+C; if (0==matrix[i][j]) return 0; visited[i][j]=true; if (j>0&&!visited[i][j-1]){//left res=min(res,1+dfs(matrix,i,j-1,R,C,visited)); } if (j<C-1&&!visited[i][j+1]){//right res=min(res,1+dfs(matrix,i,j+1,R,C,visited)); } if (i>0&&!visited[i-1][j]){//up res=min(res,1+dfs(matrix,i-1,j,R,C,visited)); } if (i<R-1&&!visited[i+1][j]){//down res=min(res,1+dfs(matrix,i+1,j,R,C,visited)); } visited[i][j]=false; return res; } vector<vector<int>> updateMatrix(vector<vector<int>>& matrix) { int R=matrix.size(),C=matrix[0].size(); vector<vector<int>> ret(R,vector<int>(C,0)); bool **visited=new bool *[R]; for (int i=0;i<R;i++){ visited[i]=new bool [C]; fill(visited[i],visited[i]+C,false); } for (int i=0;i<R;i++){ for (int j=0;j<C;j++){ ret[i][j]=dfs(matrix,i,j,R,C,visited); } } delete [] visited; return ret; }};
//BFSclass Solution {public: //BFS 只进入合法节点 vector<vector<int>> updateMatrix(vector<vector<int>>& matrix) { int R=matrix.size(),C=matrix[0].size(); queue<pair<int,int>> q; vector<pair<int,int>> adjust={{0,-1},{0,1},{-1,0},{1,0}}; for (int i=0;i<R;i++){ for (int j=0;j<C;j++){ if (0==matrix[i][j]) q.push({i,j}); else matrix[i][j]=INT_MAX; } } while(!q.empty()){ pair<int,int> coordinate=q.front(); q.pop(); int i=coordinate.first,j=coordinate.second; for (auto d:adjust){ auto x=i+d.first,y=j+d.second; if(x>=0 && x<R && y>=0 && y<C){ if (matrix[x][y]>=matrix[i][j]+1){//careful matrix[x][y]=1+matrix[i][j]; q.push({x,y}); } } } } return matrix; }};
0 0
- leetcode:0-1 矩阵问题
- Leetcode全矩阵问题
- 关于0-1矩阵置1的问题
- LeetCode总结 -- 矩阵篇
- leetcode 矩阵旋转
- [LeetCode]120 三角矩阵
- 【LeetCode】矩阵系列
- LeetCode-矩阵旋转
- 回溯——矩阵中路径问题(0,1矩阵中最优路径、矩阵中的路径、机器人的运动范围)
- 最大全0子矩阵问题
- Set Matrix Zeroes 把一个矩阵置为0 @LeetCode
- LeetCode-73. Set Matrix Zeroes (JAVA) 矩阵元素置0
- 求全是1的最大矩阵面积 Maximal Rectangle @LeetCode
- leetcode 85. Maximal Rectangle(最大全1子矩阵)
- LeetCode—*Spiral Matrix问题,主要是用到了方向矩阵,很创意
- LeetCode 在矩阵中寻找路径类的动态规划问题
- LeetCode 36 Valid Sudoku 数独子问题 子矩阵判别法
- 【矩阵子阵求和问题】 leetcode 308. Range Sum Query 2D
- zookeeper实战与源码分析----第三方客户端ZkClient使用之监听器
- jquery中$(document).ready(function(){})的实现
- python svd分解矩阵
- 字符串替换空格题目
- saltstack/salt的state.sls的使用
- leetcode:0-1 矩阵问题
- 数据与文字的表示方法
- Visual Studio 2010中文版和GCC对C程序注释里中文的支持小结
- 2017年校招全国统一模拟笔试(第一场)编程题集合——序列和
- HTML5 学习表格应用
- ubuntu 下kaldi的安装调试
- mysql(1-1)
- string类的库函数介绍总结
- mysql导入数据load data infile用法