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

leetcode1091. 二进制矩阵中的最短路径-medium

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;}
};

结果

在这里插入图片描述

相关文章:

  • 使用 Apache POI 生成包含文本和图片的 Word 文档
  • 排序算法——计数排序
  • 开发 Chrome 扩展中的侧边栏图标设置实录(Manifest V3)
  • 医疗人工智能大模型中的关键能力:【中期训练】mid-training
  • 【javascript】console对象
  • 尤雨溪宣布:Vue 生态正式引入 AI
  • lvgl多语言设置
  • 深度学习模型的部署实践与Web框架选择
  • vue3的页面跳转方法汇总(路由跳转,组件跳转)
  • dubbo-token验证
  • 大数据应用开发和项目实战-电商双11美妆数据分析2
  • 《数据结构:二叉搜索树(Binary Search Tree)》
  • 面向智能体开发的声明式语言:可行性分析与未来图景
  • SafeDrive:大语言模型实现自动驾驶汽车知识驱动和数据驱动的风险-敏感决策——论文阅读
  • 【论文阅读】Reconstructive Neuron Pruning for Backdoor Defense
  • 内网渗透技术全面指南——安全业务视角(基于《内网渗透技术 (吴丽进、苗春雨 主编;郑州、雷珊珊、王伦 副主编)》)
  • C++ set和map系列(关联式容器)的介绍及使用
  • 【论文阅读】Towards Stable Backdoor Purification through Feature Shift Tuning
  • Web 架构之负载均衡全解析
  • 【论文阅读】HunyuanVideo: A Systematic Framework For Large Video Generative Models
  • 拿出压箱底作品,北京交响乐团让上海观众享受音乐盛宴
  • 欧洲承诺投资6亿欧元吸引外国科学家
  • 绍兴柯桥:用一块布托起中国制造的新经纬
  • 深入贯彻中央八项规定精神学习教育中央第一指导组指导督导河北省见面会召开
  • 上海营商环境的“分寸”感:底线之上不断拓宽自由,底线之下雷霆制止
  • 有人悬赏十万寻找“全国仅剩1只”的斑鳖,发帖者回应并证实