Skip to content

Latest commit

 

History

History
117 lines (51 loc) · 1.82 KB

File metadata and controls

117 lines (51 loc) · 1.82 KB

Description

In a gold mine grid of size m * n, each cell in this mine has an integer representing the amount of gold in that cell, 0 if it is empty.

Return the maximum amount of gold you can collect under the conditions:

    <li>Every time you are located in a cell you will collect all the gold in that cell.</li>
    
    <li>From your position you can walk one step to the left, right, up or down.</li>
    
    <li>You can&#39;t visit the same cell more than once.</li>
    
    <li>Never visit a cell with&nbsp;<code>0</code> gold.</li>
    
    <li>You can start and stop collecting gold from&nbsp;<strong>any </strong>position in the grid that has some gold.</li>
    

 

Example 1:

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

Output: 24

Explanation:

[[0,6,0],

 [5,8,7],

 [0,9,0]]

Path to get the maximum gold, 9 -> 8 -> 7.

Example 2:

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

Output: 28

Explanation:

[[1,0,7],

 [2,0,6],

 [3,4,5],

 [0,3,0],

 [9,0,20]]

Path to get the maximum gold, 1 -> 2 -> 3 -> 4 -> 5 -> 6 -> 7.

 

Constraints:

    <li><code>1 &lt;= grid.length,&nbsp;grid[i].length &lt;= 15</code></li>
    
    <li><code>0 &lt;= grid[i][j] &lt;= 100</code></li>
    
    <li>There are at most <strong>25&nbsp;</strong>cells containing gold.</li>
    

Solutions

Python3

Java

...