LeetCode 1219 黃金礦工

2022-10-09 03:54:10 字數 1034 閱讀 2567

你要開發一座金礦,地質勘測學家已經探明了這座金礦中的資源分布,並用大小為 m * n 的網格 grid 進行了標註。每個單元格中的整數就表示這一單元格中的**數量;如果該單元格是空的,那麼就是 0。

為了使收益最大化,礦工需要按以下規則來開採**:

每當礦工進入乙個單元,就會收集該單元格中的所有**。

礦工每次可以從當前位置向上下左右四個方向走。

每個單元格只能被開採(進入)一次。

不得開採(進入)**數目為 0 的單元格。

礦工可以從網格中 任意乙個 有**的單元格出發或者是停止。

示例 1:

輸入:grid = [[0,6,0],[5,8,7],[0,9,0]]

輸出:24

解釋:[[0,6,0],

[5,8,7],

[0,9,0]]

一種收集最多**的路線是:9 -> 8 -> 7。

示例 2:

輸入:grid = [[1,0,7],[2,0,6],[3,4,5],[0,3,0],[9,0,20]]

輸出:28

解釋:[[1,0,7],

[2,0,6],

[3,4,5],

[0,3,0],

[9,0,20]]

一種收集最多**的路線是:1 -> 2 -> 3 -> 4 -> 5 -> 6 -> 7。

1 <= grid.length, grid[i].length <= 15

0 <= grid[i][j] <= 100

最多 25 個單元格中有**。

觀察提示中資料範圍十分小,那麼可以使用暴力列舉+dfs方法來做,列舉每乙個格仔分別作為起點,然後dfs獲取以這個格仔為起點的最大收益。

Leetcode 1219 黃金礦工

你要開發一座金礦,地質勘測學家已經探明了這座金礦中的資源分布,並用大小為 m n 的網格 grid 進行了標註。每個單元格中的整數就表示這一單元格中的 數量 如果該單元格是空的,那麼就是 0。為了使收益最大化,礦工需要按以下規則來開採 每當礦工進入乙個單元,就會收集該單元格中的所有 礦工每次可以從當...

leetcode 1219 黃金礦工

你要開發一座金礦,地質勘測學家已經探明了這座金礦中的資源分布,並用大小為 m n 的網格 grid 進行了標註。每個單元格中的整數就表示這一單元格中的 數量 如果該單元格是空的,那麼就是 0。為了使收益最大化,礦工需要按以下規則來開採 每當礦工進入乙個單元,就會收集該單元格中的所有 礦工每次可以從當...

leetcode1219 黃金礦工(回溯)

你要開發一座金礦,地質勘測學家已經探明了這座金礦中的資源分布,並用大小為 m n 的網格 grid 進行了標註。每個單元格中的整數就表示這一單元格中的 數量 如果該單元格是空的,那麼就是 0。為了使收益最大化,礦工需要按以下規則來開採 每當礦工進入乙個單元,就會收集該單元格中的所有 礦工每次可以從當...