这道题感觉很难理解,用了BFS方法。先是将位置为0的入队列,然后一圈圈扩展,位置为1的入队列。看下面链接详解。
利用pair<int,int>来记录矩阵中坐标的位置
先建立一个和当前矩阵等大的矩阵result,赋值INT_MAX,假设每个元素到0的距离都是最大值
然后把原矩阵中0的位置,在result中改为0,并且入队列。然后该元素上下左右的元素,如果其周围元素的距离 大于 当前元素的距离+1,就更新其周围元素的值为:当前元素的距离+1



这道题感觉很难理解,用了BFS方法。先是将位置为0的入队列,然后一圈圈扩展,位置为1的入队列。看下面链接详解。
利用pair<int,int>来记录矩阵中坐标的位置
先建立一个和当前矩阵等大的矩阵result,赋值INT_MAX,假设每个元素到0的距离都是最大值
然后把原矩阵中0的位置,在result中改为0,并且入队列。然后该元素上下左右的元素,如果其周围元素的距离 大于 当前元素的距离+1,就更新其周围元素的值为:当前元素的距离+1
本文标题:leetcode-01矩阵
本文链接:https://www.haomeiwen.com/subject/dfpbwhtx.html
网友评论