北京哪个网站最好重庆哪个网站建设比较好
news/
2025/9/22 20:09:31/
文章来源:
北京哪个网站最好,重庆哪个网站建设比较好,电子商务的概念,在线教育网站有什么程序做文章目录1. 题目2. 解题1. 题目
给你一个 m x n 的迷宫矩阵 maze #xff08;下标从 0 开始#xff09;#xff0c;矩阵中有空格子#xff08;用 . 表示#xff09;和墙#xff08;用 表示#xff09;。 同时给你迷宫的入口 entrance #xff0c;用 entrance [entra…
文章目录1. 题目2. 解题1. 题目
给你一个 m x n 的迷宫矩阵 maze 下标从 0 开始矩阵中有空格子用 . 表示和墙用 表示。 同时给你迷宫的入口 entrance 用 entrance [entrancerow, entrancecol] 表示你一开始所在格子的行和列。
每一步操作你可以往 上下左 或者 右 移动一个格子。 你不能进入墙所在的格子你也不能离开迷宫。 你的目标是找到离 entrance 最近 的出口。 出口 的含义是 maze 边界 上的 空格子。entrance 格子 不算 出口。
请你返回从 entrance 到最近出口的最短路径的 步数 如果不存在这样的路径请你返回 -1 。
示例 1
输入maze [[,,.,],[.,.,.,],[,,,.]], entrance [1,2]
输出1
解释总共有 3 个出口分别位于 (1,0)(0,2) 和 (2,3) 。
一开始你在入口格子 (1,2) 处。
- 你可以往左移动 2 步到达 (1,0) 。
- 你可以往上移动 1 步到达 (0,2) 。
从入口处没法到达 (2,3) 。
所以最近的出口是 (0,2) 距离为 1 步。示例 2
输入maze [[,,],[.,.,.],[,,]], entrance [1,0]
输出2
解释迷宫中只有 1 个出口在 (1,2) 处。
(1,0) 不算出口因为它是入口格子。
初始时你在入口与格子 (1,0) 处。
- 你可以往右移动 2 步到达 (1,2) 处。
所以最近的出口为 (1,2) 距离为 2 步。示例 3
输入maze [[.,]], entrance [0,0]
输出-1
解释这个迷宫中没有出口。提示
maze.length m
maze[i].length n
1 m, n 100
maze[i][j] 要么是 . 要么是 。
entrance.length 2
0 entrancerow m
0 entrancecol n
entrance 一定是空格子。来源力扣LeetCode 链接https://leetcode-cn.com/problems/nearest-exit-from-entrance-in-maze 著作权归领扣网络所有。商业转载请联系官方授权非商业转载请注明出处。 2. 解题
标准的 广度优先搜索 模板题
class Solution {
public:int nearestExit(vectorvectorchar maze, vectorint entrance) {int m maze.size(), n maze[0].size(), step 0;typedef pairint,int pii;queuepii q;q.push({entrance[0], entrance[1]});maze[entrance[0]][entrance[1]] ; // 访问过了vectorvectorint dir {{1,0},{0,1},{0,-1},{-1,0}};while(!q.empty()){int size q.size();step;while(size--){ int x q.front().first;int y q.front().second;q.pop();for(int k 0; k 4; k){int nx x dir[k][0];int ny y dir[k][1];if(nx0 nxm ny0 nyn maze[nx][ny]!) //不为墙{if(nx0 || nxm-1 || ny0 || nyn-1)return step; // 到达边界出口maze[nx][ny] ; // 标记为走过了q.push({nx, ny});}}}}return -1;}
};100 ms 29.1 MB C 我的CSDN博客地址 https://michael.blog.csdn.net/
长按或扫码关注我的公众号Michael阿明一起加油、一起学习进步
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/910228.shtml
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!