当前位置:网站首页>Simulation volume leetcode [general] 1219 Golden Miner
Simulation volume leetcode [general] 1219 Golden Miner
2022-07-06 06:18:00 【Encounter simulation volume】
Summary : Simulation volume Leetcode Summary of questions
1219. Golden Miner
You're going to develop a gold mine , Geological surveyors have found out the distribution of resources in this gold mine , And use the size of m * n The grid of grid It's marked . An integer in each cell represents the amount of gold in that cell ; If the cell is empty , So that is 0.
To maximize revenue , Miners need to mine gold according to the following rules :
Every time a miner enters a unit , All the gold in that cell is collected .
Miners can walk up, down, left and right from their current position every time .
Each cell can only be mined ( Get into ) once .
No mining ( Get into ) The number of gold is 0 Cells of .
Miners can get out of the grid Any one Cells with gold start or stop .
Example 1:
Input :grid = [[0,6,0],[5,8,7],[0,9,0]]
Output :24
explain :
[[0,6,0],
[5,8,7],
[0,9,0]]
One way to collect the most gold is :9 -> 8 -> 7.
Example 2:
Input :grid = [[1,0,7],[2,0,6],[3,4,5],[0,3,0],[9,0,20]]
Output :28
explain :
[[1,0,7],
[2,0,6],
[3,4,5],
[0,3,0],
[9,0,20]]
One way to collect the most gold is :1 -> 2 -> 3 -> 4 -> 5 -> 6 -> 7.
Tips :
1 <= grid.length, grid[i].length <= 15
0 <= grid[i][j] <= 100
most 25 There's gold in one cell .
source : Power button (LeetCode)
link :https://leetcode-cn.com/problems/path-with-maximum-gold
Copyright belongs to the network . For commercial reprint, please contact the official authority , Non-commercial reprint please indicate the source .
Code :
from leetcode_python.utils import *
class Solution:
def __init__(self):
self.res = 0
@lru_cache(None)
def next(self,rowid,colid):
res = []
for i, j in ((rowid - 1, colid), (rowid, colid - 1), (rowid + 1, colid), (rowid, colid + 1)):
if 0 <= i < self.height and 0 <= j < self.width:
res.append([i, j])
return res
def dfs(self,r,c,now):
g = self.grid[r][c]
now+=g
self.res = max(self.res,now)
self.grid[r][c]=0
for nextr,nextc in self.next(r,c):
if self.grid[nextr][nextc]:
self.dfs(nextr,nextc,now)
self.grid[r][c]=g
def getMaximumGold(self, grid: List[List[int]]) -> int:
self.grid = grid
self.height,self.width = len(grid), len(grid[0])
for i in range(self.height):
for j in range(self.width):
if grid[i][j]:
self.dfs(i,j,0)
return self.res
def test(data_test):
s = Solution()
data = data_test # normal
# data = [list2node(data_test[0])] # list turn node
return s.getMaximumGold(*data)
def test_obj(data_test):
result = [None]
obj = Solution(*data_test[1][0])
for fun, data in zip(data_test[0][1::], data_test[1][1::]):
if data:
res = obj.__getattribute__(fun)(*data)
else:
res = obj.__getattribute__(fun)()
result.append(res)
return result
if __name__ == '__main__':
datas = [
[
[[0,6,0],[5,8,7],[0,9,0]]],
]
for data_test in datas:
t0 = time.time()
print('-' * 50)
print('input:', data_test)
print('output:', test(data_test))
print(f'use time:{
time.time() - t0}s')
remarks :
GitHub:https://github.com/monijuan/leetcode_python
CSDN Summary : Simulation volume Leetcode Summary of questions
You can add QQ Group communication :1092754609
leetcode_python.utils See the description on the summary page for details
First brush questions , Then generated by script blog, If there is any mistake, please leave a message , I see it will be revised ! thank you !
边栏推荐
- MySQL之数据类型
- MFC关于长字符串unsigned char与CString转换及显示问题
- Testing and debugging of multithreaded applications
- MySQL之基础知识
- 模拟卷Leetcode【普通】1314. 矩阵区域和
- 模拟卷Leetcode【普通】1091. 二进制矩阵中的最短路径
- Expose the serial fraudster Liu Qing in the currency circle, and default hundreds of millions of Cheng Laolai
- 曼哈顿距离与曼哈顿矩形-打印回字型矩阵
- Isam2 operation process
- What are the test sites for tunnel engineering?
猜你喜欢
在uni-app中使用腾讯视频插件播放视频
10m25dcf484c8g (FPGA) amy-6m-0002 BGA GPS module
G - Supermarket
【Postman】测试(Tests)脚本编写和断言详解
win10无法操作(删除、剪切)文件
Summary of anomaly detection methods
Request forwarding and redirection
Function of contenttype
Buuctf-[gxyctf2019] no dolls (xiaoyute detailed explanation)
Pat (Grade B) 2022 summer exam
随机推荐
模拟卷Leetcode【普通】1091. 二进制矩阵中的最短路径
【Postman】Collections配置运行过程
模拟卷Leetcode【普通】1447. 最简分数
Aike AI frontier promotion (2.13)
An article was uncovered to test the truth of outsourcing companies
Database - current read and snapshot read
Embedded point test of app
GTSAM中ISAM2和IncrementalFixedLagSmoother说明
Properties file
Isam2 and incrementalfixedlagsmooth instructions in gtsam
Thoughts on data security (Reprint)
在uni-app中使用腾讯视频插件播放视频
php使用redis实现分布式锁
Redis 核心技术与实战之 基本架构:一个键值数据库包含什么?
[postman] collections - run the imported data file of the configuration
Interface test: what are the components of the URL in fiddler
【Postman】Monitors 监测API可定时周期运行
黑猫带你学eMMC协议第10篇:eMMC读写操作详解(read & write)
GTSAM中李群的運用
Win10 cannot operate (delete, cut) files