该题目首先我想到的算法是bfs,但是bfs的空间复杂度较高,需要额外的队列,在看完题解之后,发现了动态规划这个好办法。具体程序代码如下:
复制代码
vector<vector<int>> updateMatrix(vector<vector<int>>& matrix) {
int m = matrix.size(), n = matrix[0].size();
for (int i = 0; i < m; ++i) {
for (int j = 0; j < n; ++j) {
if (matrix[i][j] == 1) {
matrix[i][j] = INT_MAX / 2;
}
}
}
for (int i = 0; i < m; ++i) {
给定一个由 0 和 1 组成的矩阵,找出每个元...
最新推荐文章于 2022-04-25 11:31:46 发布
这篇博客介绍了如何利用动态规划算法优化解决一个矩阵问题,即给定一个由0和1组成的矩阵,找到每个1到最近的0的最短路径。博主首先提出初始思路是使用bfs,但考虑到空间复杂度,选择了动态规划方法。通过两次遍历矩阵,实现了从左上到右下再到右下的更新过程,有效找到了距离最近的0的步数。

最低0.47元/天 解锁文章
922

被折叠的 条评论
为什么被折叠?



