Re: [閒聊] 每日leetcode已回收

看板Marginalman作者 (早瀬ユウカの体操服 )時間1年前 (2024/05/14 09:31), 編輯推噓4(401)
留言5則, 5人參與, 1年前最新討論串217/1554 (看更多)
https://leetcode.com/problems/path-with-maximum-gold/description 1219. Path with Maximum Gold 給你一個二維陣列grid表示金礦的座標,grid[i][j] 表示該位置有多少金礦,你可以 從任意位置當起點開始挖金礦,滿足以下條件: 1.每次都要挖完當前位置的金礦 2.你可以往上下左右移動 3.你不可以移動到沒金礦的位置 求出最多可以挖多少金礦 思路: 1.從每個金礦座標開始窮舉所有挖金礦的可能,用回朔法標記已經挖過的金礦,取最大 的即可。 py code: ------------------------------------- class Solution: def getMaximumGold(self, grid: List[List[int]]) -> int: m, n = len(grid), len(grid[0]) def dfs(y: int, x: int): if y < 0 or y == m or x < 0 or x == n or grid[y][x] == 0: return 0 tmp = grid[y][x] grid[y][x] = 0 profit = tmp + max(dfs(y + 1, x), dfs(y - 1, x), dfs(y, x + 1), dfs(y, x - 1)) grid[y][x] = tmp return profit res = 0 for i in range(m): for j in range(n): res = max(res, dfs(i, j)) return res ------------------------------------- -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 101.139.139.57 (臺灣) ※ 文章網址: https://www.ptt.cc/bbs/Marginalman/M.1715650295.A.26A.html

05/14 09:33, 1年前 , 1F
大師
05/14 09:33, 1F

05/14 09:34, 1年前 , 2F
大師
05/14 09:34, 2F

05/14 09:37, 1年前 , 3F
大師
05/14 09:37, 3F

05/14 09:38, 1年前 , 4F
大師
05/14 09:38, 4F

05/14 09:40, 1年前 , 5F
大師
05/14 09:40, 5F
文章代碼(AID): #1cGhxt9g (Marginalman)
討論串 (同標題文章)
文章代碼(AID): #1cGhxt9g (Marginalman)