题目:
你要开发一座金矿,地质勘测学家已经探明了这座金矿中的资源分布,并用大小为 m * n 的网格 grid 进行了标注。每个单元格中的整数就表示这一单元格中的黄金数量;如果该单元格是空的,那么就是 0。

为了使收益最大化,矿工需要按以下规则来开采黄金:

  • 每当矿工进入一个单元,就会收集该单元格中的所有黄金。
  • 矿工每次可以从当前位置向上下左右四个方向走。
  • 每个单元格只能被开采(进入)一次。
  • 不得开采(进入)黄金数目为 0 的单元格。
  • 矿工可以从网格中 任意一个 有黄金的单元格出发或者是停止。


    解答:
class Solution:def getMaximumGold(self, grid: List[List[int]]) -> int:#回溯directions=[[-1,0],[1,0],[0,-1],[0,1]]m=len(grid)n=len(grid[0])flag=[[0]*n for _ in range(m)]def inArea(x,y):if 0<=x<m and 0<=y<n:return Truereturn Falseans=0#DFS,求从(x,y)出发时所拥有的黄金数量为golddef DFS(x,y,gold):nonlocal anstmp=grid[x][y]gold+=tmpans=max(ans,gold)grid[x][y]=0for dx,dy in directions:if inArea(x+dx,y+dy) and grid[x+dx][y+dy]>0:DFS(x+dx,y+dy,gold)grid[x][y]=tmpfor i in range(m):for j in range(n):if grid[i][j]!=0:DFS(i,j,0)return ans

【回溯】leetcode1219.黄金矿工相关推荐

  1. leetcode1219. 黄金矿工(回溯)

    你要开发一座金矿,地质勘测学家已经探明了这座金矿中的资源分布,并用大小为 m * n 的网格 grid 进行了标注.每个单元格中的整数就表示这一单元格中的黄金数量:如果该单元格是空的,那么就是 0. ...

  2. LeetCode1219 黄金矿工

    题目描述: 你要开发一座金矿,地质勘测学家已经探明了这座金矿中的资源分布,并用大小为 m * n 的网格 grid 进行了标注.每个单元格中的整数就表示这一单元格中的黄金数量:如果该单元格是空的,那么 ...

  3. 黄金矿工--回溯算法

    LeetCode 1219 黄金矿工 你要开发一座金矿,地质勘测学家已经探明了这座金矿中的资源分布,并用大小为 m * n 的网格 grid 进行了标注.每个单元格中的整数就表示这一单元格中的黄金数量 ...

  4. LeetCode:1219.黄金矿工(Java语言)

    不要自卑,去提升实力 互联网行业谁技术牛谁是爹 如果文章可以带给你能量,那是最好的事!请相信自己 加油o~ 1219.黄金矿工 你要开发一座金矿,地质勘测学家已经探明了这座金矿中的资源分布,并用大小为 ...

  5. 黄金矿工游戏demo

    试玩地址:  http://www.adanghome.com/js_demo/13/ 请使用chrome.firefox或safari.ie的话,请大于ie8. 按空格键扔出钩子,按左右键控制矿工移 ...

  6. 2018级C语言大作业 - 黄金矿工

    黄金矿工 C语言作业 分享18级同学大一上学期用C语言实现的黄金矿工.分步骤代码.图片音乐素材.可执行程序可从百度网盘下载: 链接:https://pan.baidu.com/s/1xCy1l2-7Q ...

  7. 【源码+教程】Java课设项目_12款最热最新Java游戏项目_Java游戏开发_Java小游戏_飞翔的小鸟_王者荣耀_超级玛丽_推箱子_黄金矿工_贪吃蛇

    马上就要期末了,同学们课设做的如何了呢?本篇为大家带来了12款热门Java小游戏项目的源码和教程,助力大家顺利迎接暑假![源码+教程]Java课设项目_12款最热最新Java游戏项目_Java游戏开发 ...

  8. 你的记忆里有黄金矿工吗?

    黄金矿工是大概是我初中时候玩的游戏吧,记忆中的样子是一群人围在一个电脑傍边,两人一组,输了就换下一组,虽然它不上现在游戏的丰富的游戏内容.但是就是让人欲罢不能,成为一款经典! Java游戏项目黄金矿工 ...

  9. 项目二 黄金矿工 1

    黄金矿工 第一部分 1 绘制窗口 2 背景绘制 3 红线绘制 4 线的延长和收回 6 金块绘制 7 闪动问题解决 8 抓取判定与返回 9 添加多个金块 10 解决金块消失的bug 11 创建石块类 第 ...

最新文章

  1. blog微服务架构代码_聊聊微服务架构
  2. sql left join用法_一张图看懂 SQL 的各种 join 用法
  3. java jar包示例_Java包isCompatibleWith()方法与示例
  4. 【浏览器】Firefox插件AdblockPlus屏蔽广告
  5. mysql用大白话解释_大白话 golang 教程-22-关系型数据库访问
  6. 会写helloworld,不等于入门
  7. 计算机组成原理(第三版)唐朔飞-第十章控制单元的设计-课后习题
  8. 什么是COM组件以及怎样创建(C#)?
  9. 存储程序式计算机特征,冯.诺依曼机模型是以运算器为中心的存储程序式的计算机模型,它由五大部分构成,即运算器、控制器、存储器、输入设备和输出设备...
  10. U盘_PE启动+U存储+kali三合一启动盘制作教程
  11. 你了解PowerBI中的去年同期吗
  12. SpringMVC 之Resolver视图解析器笔记(六)
  13. 第一类第二类斯特林数总结
  14. 试试在transformers中调用ERNIE
  15. 如何获得的office 365 年卡
  16. 数学建模神经网络应用,构建神经网络模型方法
  17. 【代码高亮】解决代码高亮工具复制在word中左边留有空白
  18. 锁相放大器-SR830使用介绍
  19. java正则表达式中的数量词介绍及区别
  20. android 高通分区表,高通智能机分区表详细解析

热门文章

  1. Working Practice-破窗理论与写代码
  2. 工业互联 智造未来 “2018 智造中国峰会•上海松江” 在上海市松江区隆重召开
  3. 从一到无穷大 #4 Lossy compression
  4. 5G时代带动陶瓷PCB成长——GPS陶瓷天线调试方法(二)
  5. 流量监控软件networx使用
  6. go-micro使用etcd作为注册中心
  7. iOS 10 跳转系统设置
  8. c语言飞机订票信息查询,C语言飞机订票系统
  9. XPS文件转换为PDF不再愁!全新XPS/EPS文档处理神器Aspose.Page来啦!
  10. 康耐视visionpro控件中文说明