# **Leetcode筆記(Nearest Exit from Entrance in Maze)** :::info :information_source: 題目 : Nearest Exit from Entrance in Maze, 類型 : graph , 等級 : medium 日期 : 2024/08/25 ::: ### 嘗試 ```python ``` --- ### **優化** 好久都沒有寫leetcode了,為了回歸fulltime做準備,加油啦!! 這題解法非常經典,但還是邊看解答邊寫,加油!! ```python class Solution: def nearestExit(self, maze: List[List[str]], entrance: List[int]) -> int: m, n = len(maze), len(maze[0]) dirs = [(0, 1), (1, 0), (0, -1), (-1, 0)] s_r, s_c = entrance[0], entrance[1] visited = set() visited.add((s_r, s_c)) q = deque() q.append((s_r, s_c, 1)) while q: r, c, step = q.popleft() for dr, dc in dirs: nr, nc = r + dr, c + dc if 0 <= nr < m and 0 <= nc < n and (nr, nc) not in visited and maze[nr][nc] == ".": # check exit if nr == 0 or nr == m - 1 or nc == 0 or nc == n - 1: return step else: visited.add((nr, nc)) q.append((nr, nc, step + 1)) return -1 ``` --- **思路** **講解連結** Provided by.