Leetcode 542 Matrix
来源:互联网 发布:淘宝买手游账号靠谱吗 编辑:程序博客网 时间:2024/05/21 08:44
题目链接
- 第一版BFS:没找到毛病通不过,也是醉了(复杂度有点高呀,小伙子)
class Solution {public: void bfs(vector<vector<int>>&matrix,int i, int j, int &cnt){ if(matrix[i][j] == 0)return; cnt++; if(i > 0)bfs(matrix, i-1,j,cnt); else if(j > 0)bfs(matrix, i,j-1,cnt); else if(i < matrix.size() -1)bfs(matrix, i +1, j,cnt); else if(j < matrix[0].size() -1)bfs(matrix, i, j + 1,cnt); } vector<vector<int>> updateMatrix(vector<vector<int>>& matrix) { vector<vector<int>> res(matrix.size(),vector<int>(matrix[0].size(),0)); for(int i = 0; i< matrix.size(); i++){ for(int j = 0; j < matrix[0].size(); j++){ int cnt = 0; bfs(matrix,i,j, cnt); res[i][j] = cnt; } } return res; }};
- 第二版DP,over
class Solution {public: vector<vector<int>> updateMatrix(vector<vector<int>>& matrix) { vector<vector<int>> res(matrix.size(),vector<int>(matrix[0].size(),INT_MAX)); for(int i = 0; i< matrix.size(); i++){ for(int j = 0; j < matrix[0].size(); j++){ if(matrix[i][j] == 0)res[i][j]=0; if(i > 0 && res[i-1][j] != INT_MAX)res[i][j] = min(res[i][j],res[i-1][j]+1); if(j > 0 && res[i][j-1] != INT_MAX)res[i][j] = min(res[i][j],res[i][j-1]+1); } } for(int i = matrix.size()-1; i>=0; i--){ for(int j = matrix[0].size()-1; j >=0; j--){ if(matrix[i][j] == 0)res[i][j]=0; if(i < matrix.size()-1 && res[i+1][j]!= INT_MAX)res[i][j] = min(res[i][j],res[i+1][j]+1); if(j < matrix[0].size()-1 && res[i][j+1] != INT_MAX )res[i][j] = min(res[i][j],res[i][j+1]+1); } } return res; }};
阅读全文
0 0
- leetcode-542-01 Matrix
- [LeetCode.542]01 Matrix
- Leetcode 542 Matrix
- [Leetcode] #542 01 Matrix (BFS)
- LeetCode: Spiral Matrix
- LeetCode: Spiral Matrix II
- LeetCode: Set Matrix Zeroes
- LeetCode Set Matrix Zeroes
- LeetCode Spiral Matrix
- LeetCode Spiral Matrix II
- [Leetcode] Set Matrix Zeroes
- [Leetcode] Spiral Matrix
- [Leetcode] Spiral Matrix II
- LeetCode: Set Matrix Zeroes
- LeetCode: Spiral Matrix
- LeetCode : Spiral Matrix II
- Leetcode: Set Matrix Zeroes
- [LeetCode] Set Matrix Zeroes
- 10.8 上学 2404
- C/C++读写csv文件
- Spark性能优化:开发调优
- IDUtils
- Java多线程学习
- Leetcode 542 Matrix
- CSS(十二) 宽度布局实践
- 文章标题
- JsonUtils
- sppnet
- 奖学金
- Git 常见问题和解决方案
- 初学http整理笔记
- Hive学习笔记 3 Hive的数据模型:内部表、分区表、外部表、桶表、视图