当前位置: 首页 > Web前端 > JavaScript

Leetcode542:矩阵(广度遍历解法)

时间:2023-03-27 11:05:05 JavaScript

给定一个由0和1组成的矩阵mat,请输出一个大小相同的矩阵,其中每个格子是mat中对应位置元素到最近的0的距离两个相邻元素之间为1。答案/***@param{number[][]}mat*@return{number[][]}*/varupdateMatrix=function(mat){letmap=newArray(mat.length);//对于输出数组letquque=[];//队列/*为映射分配初始值*/for(leti=0;i0){letsize=quque.长度;for(letk=0;k=0&&map[i-1][j]>map[i][j]+1){map[i-1][j]=map[i][j]+1;quque.push([i-1,j])}如果(i+1map[i][j]+1){map[i+1][j]=地图[i][j]+1;quque.push([i+1,j])}if(j-1>=0&&map[i][j-1]>map[i][j]+1){map[i][j-1]=地图[i][j]+1;quque.push([i,j-1])}if(j+1map[i][j]+1){map[i][j+1]=映射[i][j]+1;曲雀。push([i,j+1])}}}返回地图;};与其他不同的是,这里需要从一开始就把quque中的所有0位置作为一个集合,类似于岛屿大小问题

猜你喜欢