Re: [閒聊] 每日leetcode

看板Marginalman作者 (dont)時間1年前 (2024/11/28 21:52), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串1167/1548 (看更多)
※ 引述《JIWP (神楽めあ的錢包)》之銘言: : 2290. Minimum Obstacle Removal to Reach Corner : 思路: : (2) BFS 可以直接用一個Deque (cost, r, c) grid[i][j]=0就加到前面 grid[i][j]=1就加到後面 ```python class Solution: def minimumObstacles(self, grid: List[List[int]]) -> int: len_r, len_c = len(grid), len(grid[0]) grid[0][0] = -1 queue = deque([(0, 0, 0)]) # cost, r, c while queue: cost, r, c = queue.popleft() if r == len_r-1 and c == len_c-1: return cost for nr, nc in (r+1, c), (r-1, c), (r, c+1), (r, c-1): if 0 <= nr < len_r and 0 <= nc < len_c and grid[nr][nc] != -1: if grid[nr][nc] == 0: queue.appendleft((cost, nr, nc)) else: queue.append((cost+1, nr, nc)) grid[nr][nc] = -1 ``` -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 94.156.205.7 (臺灣) ※ 文章網址: https://www.ptt.cc/bbs/Marginalman/M.1732801965.A.F8C.html
文章代碼(AID): #1dI7Mj-C (Marginalman)
討論串 (同標題文章)
文章代碼(AID): #1dI7Mj-C (Marginalman)