1926. 迷宫中离入口最近的出口

很简单的广度优先遍历和542,1091差不多

class Solution {
public:
class pos
{public:int x_;int y_;pos(int x,int y):x_(x),y_(y){};
};
int nearestExit(vector>& maze, vector& entrance) {if(maze[entrance[0]][entrance[1]]=='+')return -1;queuea;a.push(pos(entrance[0], entrance[1]));maze[entrance[0]][entrance[1]] = 'x';int ret = 1;while(!a.empty()){queueb;while(!a.empty()){auto pos_tmp = a.front();a.pop();if(pos_tmp.x_-1>=0 && maze[pos_tmp.x_-1][pos_tmp.y_]=='.'){if(pos_tmp.x_-1==0 || pos_tmp.x_-1==maze.size()-1||pos_tmp.y_==0||pos_tmp.y_==maze[0].size()-1)return ret;b.push(pos(pos_tmp.x_-1,pos_tmp.y_));maze[pos_tmp.x_-1][pos_tmp.y_] = 'x';}if(pos_tmp.y_-1>=0 && maze[pos_tmp.x_][pos_tmp.y_-1]=='.'){if(pos_tmp.x_==0 || pos_tmp.x_==maze.size()-1||pos_tmp.y_-1==0||pos_tmp.y_-1==maze[0].size()-1)return ret;b.push(pos(pos_tmp.x_,pos_tmp.y_-1));maze[pos_tmp.x_][pos_tmp.y_-1] = 'x';}if(pos_tmp.x_+1


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部