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

leetcode1926 迷宫中离入口最近的出口

一、问题描述

二、解题思路

由于本题需要求最短路径的长度,所以可以使用bfs来解决这个问题。解题思路如下:

(1)首先,对全局变量进行初始化;

(2)接着,从入口开始进行深度优先搜索,由于本题需要统计的是最小步数,也就是层数,所以需要变量size来记录每一层的节点数,便于统计。如果找到了出口,直接返回step,如果循环执行完了还未找到出口,那就返回-1。

三、代码实现

class Solution { int N,M; vector<vector<bool>> visited; int dx[4]={0,1,0,-1}; int dy[4]={-1,0,1,0}; public: int nearestExit(vector<vector<char>>& maze, vector<int>& entrance) { //深度优先搜索 //全局变量初始化 N=maze.size(); M=maze[0].size(); visited.resize(N,vector<bool>(M,false)); //BFS queue<pair<int,int>> q; q.push({entrance[0],entrance[1]}); visited[entrance[0]][entrance[1]]=true; int step=0; while(!q.empty()){ step++; int size=q.size();//统计本层的元素数量 while(size--){ pair<int,int> cur=q.front();q.pop(); int cur_x=cur.first; int cur_y=cur.second; for(int i=0;i!=4;i++){ int next_x=cur_x+dx[i]; int next_y=cur_y+dy[i]; if(next_x>=0&&next_x<N&&next_y>=0&&next_y<M&&maze[next_x][next_y]=='.'&&visited[next_x][next_y]==false){ if(next_x==0||next_x==N-1||next_y==0||next_y==M-1) return step; q.push({next_x,next_y}); visited[next_x][next_y]=true; } } } } return -1; } };
http://www.jsqmd.com/news/977322/

相关文章:

  • 基于 Harmony 6.0 应用的 AR 汉字学习应用首页实现
  • 常码头空调维修|常码头空调移机|常码头空调加氟|常码头空调回收 高性价比宅到家快速上门 - 武汉宅到家
  • 2026年二甲基二甲氧基硅烷/片碱/硝酸铈/氯化镧等化学原料厂家推荐榜单:热门化工品优选与行业口碑之选 - 品牌发掘
  • 别被 AI 专业忽悠:AI 不是饭碗,是放大器
  • 2026年东莞塑胶/注塑/新材料行业ERP推荐榜单:模具、硅胶与射出成型一体化智能管理方案 - 企业推荐官【官方】
  • 无锡防水补漏哪家靠谱?2026正规修缮公司排名实测 - 苏易修缮
  • AgentScope Java 2.0 发布:多维度升级,为企业级智能体应用提供坚实底座
  • Token
  • AI驱动的缺陷全自动修复
  • 用过才敢说!2026年最值得信赖的专业AI论文写作工具
  • MCprep技术解析:Blender中Minecraft动画制作的革命性工作流优化
  • 【VibeCoding系列教程12】 AI代码编辑器
  • 私域电商架构升级:基于信任体系的合规运营模式解析
  • 3分钟掌握抖音批量下载:douyin-downloader让你的视频收集效率提升10倍
  • 浙江AI搜索优化服务商2026深度评测:五大源头厂商横评与选型指南 - 品牌报告
  • 如何在Windows上搭建专业C/C++开发环境:MinGW-w64完全指南
  • 巧用SCT与DMA为无DCMI接口MCU构建高速摄像头采集方案
  • 深度评测 | 北京陪诊公司服务横评:8大品牌真实体验对比(2026年6月最新) - 北京陪诊公司
  • 零基础学C#实战手册:语法入门→面向对象→泛型→异步→单元测试全链路PDF资料
  • 从单目视觉到VIO:重投影误差如何成为多传感器融合的‘粘合剂’?
  • MarkText深度体验:除了实时预览,它的代码高亮和PDF导出功能到底有多强?
  • 基于Python的中国医学数据的分析与应用
  • 图解人工智能(51)人工智能应用-机器作家
  • 2026 太原防水补漏服务商口碑测评榜单|全屋渗漏维修机构优选指南 - 宅安选房屋修缮
  • 从零构建企业级Hermes-Agent:复杂任务拆解、工具协同与安全落地实践
  • TDengine 查询引擎概览 — SQL 从客户端到结果集的全景流转
  • Kotlin 协程设计思想(八):suspend 到底是什么?为什么 suspend 不是开启协程?
  • IdentityCardOCR 源码深度解析:从工业级身份证识别到生产级架构设计
  • 15-4 创建运行时类的对象
  • 上海防水补漏哪家靠谱?2026正规修缮公司排名实测 - 苏易修缮