当前位置: 首页 > news >正文

快速的宝安网站建设php网站开发心得3500字

快速的宝安网站建设,php网站开发心得3500字,自己做网站什么网站比较好,汽车之家官网入口今日份题目: 给定一个由 0 和 1 组成的矩阵 mat ,请输出一个大小相同的矩阵,其中每一个格子是 mat 中对应位置元素到最近的 0 的距离。 两个相邻元素间的距离为 1 。 示例1 输入:mat [[0,0,0],[0,1,0],[0,0,0]] 输出&#xff…

今日份题目:

给定一个由 01 组成的矩阵 mat ,请输出一个大小相同的矩阵,其中每一个格子是 mat 中对应位置元素到最近的 0 的距离。

两个相邻元素间的距离为 1

示例1

输入:mat = [[0,0,0],[0,1,0],[0,0,0]]
输出:[[0,0,0],[0,1,0],[0,0,0]]

示例2

输入:mat = [[0,0,0],[0,1,0],[1,1,1]]
输出:[[0,0,0],[0,1,0],[1,2,1]]

提示

  • m == mat.length

  • n == mat[i].length

  • 1 <= m, n <= 104

  • 1 <= m * n <= 104

  • mat[i][j] is either 0 or 1.

  • mat 中至少有一个 0

题目思路

找到距离当前位置最近的0,有两种思路,要么从0开始找1,要么从1开始找0。这道题,我们用从0开始找1的方法,这样距离就直接每次加一就可以了。为了简化思路和运算,我们仿照之前那道两岛间的最短距离的题目,将一片0看作一个岛,然后按层外扩,每层的距离就是上一层的距离加一。看作岛就是需要先标记为到达过并将位置放入队列。两道题目的不同之处在于,两岛间距离的题目只需找出最小距离,而这道题需要找到每个点到最近的0的最小距离,所以需要额外的数组实时记录。

bfs应用在按层外扩上,每次从队列中取出符合条件的格子,然后将四周符合条件的格子放入队列。所谓的条件就是:当前位置确实在矩阵中,并且当前位置没有到达过。

代码

class Solution 
{public:vector<vector<int>> updateMatrix(vector<vector<int>>& matrix) {int n=matrix.size();int m=matrix[0].size();//上下左右四个方向int dirc[4][2]={{-1,0},{1,0},{0,-1},{0,1}};vector<vector<int>> dist(n,vector<int>(m)); //记录距离vector<vector<int>> visited(n,vector<int>(m)); //标记到达过queue<pair<int,int> > p;//将矩阵中所有的0添加进初始队列中for(int i=0;i<n;i++) {for(int j=0;j<m;j++) {if(matrix[i][j]==0) {p.push({i,j});visited[i][j]=1; //标记为到达过dist[i][j]=0;}}}//bfswhile(!p.empty()) {auto [x,y]=p.front();p.pop();for(int i=0;i<4;i++) //遍历周围四个方向的格子{//获取新位置int nx=x+dirc[i][0];int ny=y+dirc[i][1];if(nx>=0&&nx<n&&ny>=0&&ny<m&&visited[nx][ny]==0) {dist[nx][ny]=dist[x][y]+1;p.push({nx,ny});visited[nx][ny]=1; //标记为到达过}}}return dist;}
};

提交结果

欢迎大家在评论区讨论,如有不懂的部分,欢迎在评论区留言!

更新不易,宝子们点个赞支持下,谢谢!

每天一道leetcode,大家一起在评论区打卡呀!

http://www.yayakq.cn/news/607689/

相关文章:

  • 代刷网站推广京东网站拼图验证怎么做
  • 做进口产品的网站最新国内新闻10条
  • 做冷饮的网站网站开发合同中的知识产权条款
  • 北京市建设工程造价管理协会网站网络商城排名
  • 网站的结构与布局优化设计做自动采集电影网站有什么处罚
  • 网站托管共享服务器费用一年多少钱wordpress自定义文章流程
  • 私人做网站的流程站长之家whois查询
  • 网页代理网站seo人员的相关薪资
  • 县级网站建设培训会深圳建立网站的公司
  • 南京网站优化方案网站优化应该怎么做
  • 郑州自助建站模板wordpress rest api
  • 给朋友做的相册网站没有了天津网站维护
  • 怎么管理网站添加代码广州网络建设公司
  • 关于网站建设好处文章深圳高水平网站制作
  • 记事本怎样做网站百度推广开户流程
  • 重庆建设岗位培训网站怎么推广微信公众号
  • 可以做链接的网站帝国网站程序
  • 网站开发是否用html5网站建设和推广电话销售话术
  • 网站建设的内容要怎么写东盟建设集团有限公司网站
  • 广州白云住房和建设局网站劳力士手表价格及图片 官方网站
  • 做网站 百度推广梅河口网站建设
  • 做网站有了空间在备案吗郑州网站建设seo
  • 万州做网站锒川市住房和城乡建设局网站公告
  • 企业品牌网站建设的关键事项外贸网站推广平台蓝颜seo牛
  • 网站建设的审批部门是杭州公司申请车牌需要什么条件
  • 网站使用字体网站群管理平台建设
  • app开发去哪个网站用什么网站做微信推送
  • 东莞高端网站建设收费标准仿站小工具wordpress
  • 怎么搜 织梦的网站湖北民族建设集团网站首页
  • 电子商务网站的设计与开发移动平台3g手机网站前端开发布局技巧汇总