news 2026/4/23 14:05:58

【剑斩OFFER】算法的暴力美学——力扣 1926 题:迷宫中离入口最近的出口

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
【剑斩OFFER】算法的暴力美学——力扣 1926 题:迷宫中离入口最近的出口

一、题目描述

二、算法原理

思路:BFS 算法

我们看到上面这张图片,求 A 到 E 的最短路径,此时我们可以使用一个队列来实现层序遍历来实现 BFS 算法,我们先把 A 入队列,假设两点之间的距离都为 1,所以此时队列情况:

A -> B -> C

此时因为 B 下一个就是 E 了,所以:

A -> B -> C-> E,那么 D 就没有必要入队列了,因为 E 已经找到了,那么最短路径的长度就是

剥离的次数:

这道题目和这个示例的解法一样,只不过我们要创建一个和原二维数组的一样大小的数组用来标记哪些值被遍历的,不要重复遍历;

三、代码实现

class Solution { int dx[4] = {1,-1,0,0}; int dy[4] = {0,0,1,-1}; bool tmp[200][200]; typedef pair<int,int> PII; public: int nearestExit(vector<vector<char>>& maze, vector<int>& enter) { int x = enter[0], y = enter[1]; queue<PII> que;//使用层序遍历 que.push({x,y}); tmp[x][y] = true; int count = 0; while(que.size()) { int forl = que.size(); count++;//最短的剥离次数就是最短路径 while(forl--)//控制剥离的层数 { auto [a,b] = que.front(); que.pop(); for(int i = 0; i < 4; i++) { x = a + dx[i]; y = b + dy[i]; if(x >= 0 && x < maze.size() && y >= 0 && y < maze[0].size() && maze[x][y] == '.' && tmp[x][y] == false) { if(x == maze.size() - 1 || x == 0)//到达出口 { return count; } else if(y == maze[0].size() - 1 || y == 0)//到达出口 { return count; } else { tmp[x][y] = true; que.push({x,y}); } } } } } return -1; } };
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/20 13:27:14

Linux命令大全-grep命令

一、简介grep(英文全拼: Global Regular Expression Print)命令用于查找文件里符合条件的字符串或正则表达式&#xff0c;并将符合条件的内容进行输出。二、语法语法&#xff1a;grep [选项]... PATTERN [FILE]...PATTERN&#xff1a;是一个基本正则表达式(缩写为BRE)&#xff…

作者头像 李华
网站建设 2026/4/23 12:55:11

全网最全专科生AI论文工具TOP9:毕业写作必备测评

全网最全专科生AI论文工具TOP9&#xff1a;毕业写作必备测评 专科生论文写作工具测评&#xff1a;2026年最实用榜单出炉 随着AI技术的不断发展&#xff0c;越来越多的专科生开始借助AI论文工具提升写作效率。然而&#xff0c;面对市场上琳琅满目的产品&#xff0c;如何选择真正…

作者头像 李华
网站建设 2026/4/23 12:52:24

SSM245的旅游景点推荐网站酒店资讯vue

目录SSM245旅游景点推荐网站酒店资讯Vue摘要开发技术源码文档获取/同行可拿货,招校园代理 &#xff1a;文章底部获取博主联系方式&#xff01;SSM245旅游景点推荐网站酒店资讯Vue摘要 SSM245旅游景点推荐网站是一个基于SSM&#xff08;SpringSpringMVCMyBatis&#xff09;框架…

作者头像 李华
网站建设 2026/4/23 12:51:57

SSM252的高校校园点餐订餐选座系统

目录SSM252高校校园点餐订餐选座系统摘要开发技术源码文档获取/同行可拿货,招校园代理 &#xff1a;文章底部获取博主联系方式&#xff01;SSM252高校校园点餐订餐选座系统摘要 针对高校食堂用餐高峰期的排队拥挤、效率低下等问题&#xff0c;设计并实现了一款基于SSM框架&…

作者头像 李华