LeetCode 1219. 黄金矿工(回溯)

文章目录

    • 1. 题目
    • 2. 回溯DFS解题

1. 题目

你要开发一座金矿,地质勘测学家已经探明了这座金矿中的资源分布,并用大小为 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 个单元格中有黄金。

来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/path-with-maximum-gold
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。

2. 回溯DFS解题

  • 对每个有矿的位置进行dfs,得到一个黄金数量 mi
  • 取 max(mi) 为答案
class Solution {int m,n;//地图大小int maxMoney = 0;//最大黄金数量vector<vector<int>> dir = {{1,0},{-1,0},{0,1},{0,-1}};//挖矿方向
public:int getMaximumGold(vector<vector<int>>& grid) {m = grid.size(), n = grid[0].size();int i, j, origin;for(i = 0; i < m; ++i){for(j = 0; j < n; ++j){if(grid[i][j] != 0){	//每个有矿的位置开始dfsorigin = grid[i][j];grid[i][j] = 0;//挖掉了dfs(grid,i,j,origin);grid[i][j] = origin;//恢复现场}}}return maxMoney;}void dfs(vector<vector<int>>& grid, int i, int j, int curMoney){if(curMoney > maxMoney)//更新最大黄金记录maxMoney = curMoney;int x, y, origin;for(int k = 0; k < 4; ++k){	//4个方向试探x = i+dir[k][0];y = j+dir[k][1];if(x>=0 && x<m && y>=0 && y<n && grid[x][y] != 0){	//在矿内,且没有挖过/有矿origin = grid[x][y];grid[x][y] = 0;//挖掉了dfs(grid,x,y,curMoney+origin);grid[x][y] = origin;//恢复现场}}}
};

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/478167.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

发现一篇专门吐槽 NLP 内卷现状的 ACL 论文 ...

文 | Severus编 | 小轶随着大模型的发展&#xff0c;NLP领域的榜单可说是内卷到了无以复加&#xff0c;现在去浏览各大公开榜单&#xff0c;以至于各个比赛&#xff0c;随处可见BERT、RoBERTa的身影&#xff0c;甚至榜单中见到各大large模型的集成版也并非偶然。在发论文的时候…

大促活动前团购系统流量预算和容量评估

本文整理自美团点评技术沙龙第11期&#xff1a;移动端测试分享。 美团点评技术沙龙由美团点评技术团队主办&#xff0c;每月一期。每期沙龙邀请美团点评及其它互联网公司的技术专家分享来自一线的实践经验&#xff0c;覆盖各主要技术领域。 目前沙龙会分别在北京、上海和厦门等…

论文浅尝 | 融合多层次领域知识的分子图对比学习

笔记整理 | 方尹&#xff0c;浙江大学在读博士&#xff0c;研究方向&#xff1a;图表示学习论文地址&#xff1a;https://arxiv.org/pdf/2106.04509.pdf动机目前基于图的对比学习有以下几个问题&#xff1a;不同领域的图&#xff0c;&#xff08;比如social network和分子图&am…

LeetCode 1028. 从先序遍历还原二叉树(栈)

文章目录1. 题目2. 栈解题1. 题目 我们从二叉树的根节点 root 开始进行深度优先搜索。 在遍历中的每个节点处&#xff0c;我们输出 D 条短划线&#xff08;其中 D 是该节点的深度&#xff09;&#xff0c;然后输出该节点的值。&#xff08;如果节点的深度为 D&#xff0c;则其…

python 怎么将列表中的字典安照某一个key输出到csv,python如何把字典数据存储进csv文件

示例代码 import csv fieldnames["A","B","C"]#数据列名dicts[{A: 1, B: 2, C:3},{A: 2, B: 3, C:4},{A: 3, B: 4, C:5},{A: 4, B: 5, C:6},{A: 5, B: 6, C:7},{A: 9, B: 7, C:8},]with open(test.csv, a, newline,encodingutf_8_sig) as f: wr…

基于深度学习方法的图像分割,差距不止一点点

图像分割&#xff08;image segmentation&#xff09;技术是计算机视觉领域的一个重要的研究方向&#xff0c;图像分割是计算机视觉中的一个关键过程。它包括将视觉输入分割成片段以简化图像分析。片段表示目标或目标的一部分&#xff0c;并由像素集或“超像素”组成。图像分割…

Java Hotspot G1 GC的一些关键技术

前言 G1 GC&#xff0c;全称Garbage-First Garbage Collector&#xff0c;通过-XX:UseG1GC参数来启用&#xff0c;作为体验版随着JDK 6u14版本面世&#xff0c;在JDK 7u4版本发行时被正式推出&#xff0c;相信熟悉JVM的同学们都不会对它感到陌生。在JDK 9中&#xff0c;G1被提议…

论文浅尝 | AutoETER: 用于知识图谱嵌入的自动实体类型表示

论文链接&#xff1a;https://arxiv.org/pdf/2009.12030.pdf动机传统的KGE使用附加的类型信息改善实体的表示&#xff0c;但是这些方法完全依赖于显式类型&#xff0c;或者忽略了特定于各种关系的不同类型表示&#xff0c;并且这些方法目前都不能同时推断出对称性、反演和组成的…

LeetCode 1029. 两地调度(贪心)

文章目录1. 题目2. 贪心1. 题目 公司计划面试 2N 人。第 i 人飞往 A 市的费用为 costs[i][0]&#xff0c;飞往 B 市的费用为 costs[i][1]。 返回将每个人都飞到某座城市的最低费用&#xff0c;要求每个城市都有 N 人抵达。 示例&#xff1a; 输入&#xff1a;[[10,20],[30,2…

百面机器学习-第一章特征工程

原文链接&#xff1a;https://www.jianshu.com/p/355c4001ca42 前言 如果你能找到这里&#xff0c;真是我的幸运~这里是蓝白绛的学习笔记&#xff0c;本集合主要针对《百面机器学习——算法工程师带你去面试》这本书。主要记录我认为重要的知识点&#xff0c;希望对大家有帮助。…

推荐几个NLP出论文的好方向!!

如果你准备发NLP方向的论文&#xff0c;或准备从事科研工作或已在企业中担任NLP算法岗的工作。那么我真诚的向大家推荐&#xff0c;贪心学院《自然语言处理高阶研修班》&#xff0c;目前全网上应该找不到类似体系化的课程。课程精选了四大主题进行深入的剖析讲解&#xff0c;四…

Android热更新方案Robust

美团是中国最大的O2O交易平台&#xff0c;目前已拥有近6亿用户&#xff0c;合作各类商户达432万&#xff0c;订单峰值突破1150万单。美团App是平台主要的入口之一&#xff0c;O2O交易场景的复杂性决定了App稳定性要达到近乎苛刻的要求。用户到店消费买优惠券时死活下不了单&…

会议研讨 | TF45: 知识图谱新技术、新场景、新应用

基于“新基建”面向新产业、新业态和新模式的背景下&#xff0c;知识图谱作为人工智能的重要基石正在火热发展中。新的知识图谱技术在新的场景和应用中使人工智能从感知智能逐渐向认知智能过渡。知识图谱与产业的结合愈加紧密&#xff0c;除了在搜索与推荐、知识问答等通用领域…

LeetCode 653. 两数之和 IV - 输入 BST(二叉搜索树迭代器双指针)

文章目录1. 题目2. 解题1. 题目 给定一个二叉搜索树和一个目标结果&#xff0c;如果 BST 中存在两个元素且它们的和等于给定的目标结果&#xff0c;则返回 true。 案例 1: 输入: 5/ \3 6/ \ \ 2 4 7Target 9 输出: True案例 2: 输入: 5/ \3 6/ \ \ 2 4 7Tar…

盘点来自工业界的GPU共享方案

文 | 阎姝含源 | 极市平台进年来工业界一直孜孜不倦地寻求提升GPU利用率的方案&#xff0c;能被更多用户理解和使用的GPU共享走进工程师的视野中。本文将总结目前有公开PR的、来自工业界的部分GPU容器计算共享方案&#xff0c;看看工业界对GPU共享的定位和需求。本文将依旧着眼…

百面机器学习|第二章模型评估知识点 蓝白绛

前言 如果你能找到这里&#xff0c;真是我的幸运~这里是蓝白绛的学习笔记&#xff0c;本集合主要针对《百面机器学习——算法工程师带你去面试》这本书。主要记录我认为重要的知识点&#xff0c;希望对大家有帮助。 第二章 模型评估 1、评估指标的局限性 准确率(Accuracy)&…

美团外卖订单中心的演进

美团外卖从2013年9月成交第一单以来&#xff0c;已走过了三个年头。期间&#xff0c;业务飞速发展&#xff0c;美团外卖由日均几单发展为日均500万单&#xff08;9月11日已突破600万&#xff09;的大型O2O互联网外卖服务平台。平台支持的品类也由最初外卖单品拓展为全品类。 随…

论文浅尝 | 基于知识图谱的智能调研方法(DI佳作)

转载公众号 | 数据智能英文刊题目&#xff1a;A Knowledge Graph Based Approach to Social Science Surveys引用&#xff1a;Z. Pan, Z.J., et al.: A Knowledge Graph Based Approach to Social Science Surveys. Data Intelligence 3(3). doi: 10.1162/dint_a_00107文章摘要…

NYU Google: 知识蒸馏无处不在,但它真的有用吗?

文 | 小伟编 | 小轶导师: 小伟&#xff0c;听说你对知识蒸馏比较了解&#xff0c;你来给我说说知识蒸馏有什么用&#xff1f;我: 知识蒸馏是一种很典型的模型压缩的方法&#xff0c;我们可以用它来有效地从大型教师模型学习小型学生模型&#xff0c;并且学生模型的性能也很不错…

pyscript+py-env实现python+html效果

参考链接&#xff1a;https://developer.aliyun.com/article/976083?spma2c6h.12873581.group.dArticle976083.3a8057c73DINVs 今天我们要介绍的东西&#xff0c;叫做PyScript&#xff0c;使用它&#xff0c;不需要安装任何软件。只要有一个记事本&#xff0c;就能写一段HTMLP…