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

那些行业做网站优化的比较多中国造价工程建设监理协会网站

那些行业做网站优化的比较多,中国造价工程建设监理协会网站,广西南宁网站优化,学校网站怎么下载不了1 题目:二进制矩阵中的最短路径 官方标定难度:中 给你一个 n x n 的二进制矩阵 grid 中,返回矩阵中最短 畅通路径 的长度。如果不存在这样的路径,返回 -1 。 二进制矩阵中的 畅通路径 是一条从 左上角 单元格(即&am…

1 题目:二进制矩阵中的最短路径

官方标定难度:中

给你一个 n x n 的二进制矩阵 grid 中,返回矩阵中最短 畅通路径 的长度。如果不存在这样的路径,返回 -1 。

二进制矩阵中的 畅通路径 是一条从 左上角 单元格(即,(0, 0))到 右下角 单元格(即,(n - 1, n - 1))的路径,该路径同时满足下述要求:

路径途经的所有单元格的值都是 0 。
路径中所有相邻的单元格应当在 8 个方向之一 上连通(即,相邻两单元之间彼此不同且共享一条边或者一个角)。
畅通路径的长度 是该路径途经的单元格总数。

示例 1:

在这里插入图片描述

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

示例 2:

在这里插入图片描述

输入:grid = [[0,0,0],[1,1,0],[1,1,0]]
输出:4

示例 3:

输入:grid = [[1,0,0],[1,1,0],[1,1,0]]
输出:-1

提示:

n == grid.length
n == grid[i].length
1 <= n <= 100
grid[i][j] 为 0 或 1

2 solution

采用广度优先搜索,从起点开始,搜索每一个相邻的格子,直到搜索到终点

代码

class Solution {public:int shortestPathBinaryMatrix(vector<vector<int>> &grid) {int n = grid.size();if (grid[0][0] == 1 || grid[n - 1][n - 1] == 1) return -1;if(n == 1) return 1;vector<vector<int>> step(n, vector<int>(n));queue<int> x;queue<int> y;x.push(0), y.push(0);step[0][0] = 1;int dx[] = {-1, 0, 1, -1, 1, -1, 0, 1};int dy[] = {1, 1, 1, 0, 0, -1, -1, -1};while (!x.empty()) {int xx = x.front();int yy = y.front();x.pop(), y.pop();for (int i = 0; i < 8; i++) {int r = xx + dx[i];int c = yy + dy[i];if (r >= 0 && r < n && c >= 0 && c < n) {if (r == n - 1 && c == n - 1) {return step[xx][yy] + 1;}if(grid[r][c] == 0 && step[r][c] == 0){step[r][c] = step[xx][yy] + 1;x.push(r);y.push(c);}}}}return -1;}
};

结果

在这里插入图片描述


文章转载自:

http://EGZTRHbM.brmbm.cn
http://ZXhsklsN.brmbm.cn
http://mT7nkDtC.brmbm.cn
http://kZ8gfi0d.brmbm.cn
http://9XrwRT4V.brmbm.cn
http://Hz9VMyCD.brmbm.cn
http://ASQP6TBQ.brmbm.cn
http://kw6I1GsK.brmbm.cn
http://ZjHGLVey.brmbm.cn
http://YTyDs6R4.brmbm.cn
http://G2lQl8uO.brmbm.cn
http://ZjZvrcRc.brmbm.cn
http://g2cEZ7Ia.brmbm.cn
http://1l3ZyaRo.brmbm.cn
http://SulWqK3c.brmbm.cn
http://gGOySZvG.brmbm.cn
http://voR2gStr.brmbm.cn
http://Sx2UZ9y3.brmbm.cn
http://ARVBZ8mO.brmbm.cn
http://0j8M1ofw.brmbm.cn
http://8Qy6y5eU.brmbm.cn
http://mVBHnQ1W.brmbm.cn
http://g82LI6m5.brmbm.cn
http://41ZL03ds.brmbm.cn
http://6bW4ER3p.brmbm.cn
http://pRHNMgpm.brmbm.cn
http://XbRPP8zn.brmbm.cn
http://vAjcUCXZ.brmbm.cn
http://4YmxWZ3r.brmbm.cn
http://rB4wxsSV.brmbm.cn
http://www.dtcms.com/wzjs/611663.html

相关文章:

  • python可以做网站企业网站建设方案详细方案
  • 台州网站建设系统怎样在文章后做网站链接
  • 做网站素材网外贸公司网站设计哪家好
  • 医院网站建设招标国外flash网站模板
  • 温州网站的建设用wordpress建站难吗
  • 网站建设合同司法解释太原网站建设方案咨询
  • 建设部网站施工合同抖音自媒体平台注册
  • 海口网站设计保定网站建设求职简历
  • 电商网络营销seo排名哪家有名
  • 织梦做的网站进不去分分作网站
  • 网站脚本错误深圳互联网设计开发
  • 网文订阅做多的网站国家工商注册网
  • 网站制作合同模板建筑工程网官网入口
  • 任丘做网站wordpress是什么平台
  • 建站公司经营seo培训班
  • 怎么制作游戏短视频临沂 网站优化
  • win2012服务器做网站wordpress修改发布页面插件
  • 昆山网站建设推荐北京网站建设推广
  • 网站建设赶集网韩国优秀平面设计网站有哪些
  • 东莞网站推广宣传wordpress放音乐播放器
  • 网上提供免费主页空间的网站旅游交友的网站建设
  • 把网站内容全删掉 在重新建立会不会被k西昌网站建设
  • 牡丹江seo网站推广蜘蛛屯优化排名教育培训网络推广培训
  • 网站开发的软 硬件环境标准cdn网站加速 免备案
  • 张家港网站设计优化在百度上做广告推广要多少钱
  • 深圳做网站 肖先生东莞网站建设 南城石佳
  • Django 个人博客网站开发wordpress弄个人博客好
  • 临沭有做网站的吗免费app制作软件下载
  • 重庆网站建设冒号商务网站建设摘要
  • 买了网站 怎么做呢昆山住房和城乡建设部网站