当前位置: 首页 > news >正文

leetcode 1219 黄金矿工

一、题目描述

二、解题思路

整体思路

遍历grid向量,当grid[i][j]!=0时,将(i,j)作为入口,调用dfs函数,更新全局变量,探索所有的可能。可以采用回溯+剪枝来解决这个问题。

具体思路

(1)函数功能:dfs函数用于从(i,j)位置开始,探索所有的矿道,并更新全局变量ret;

(2)函数体

<1>按照上、右、下、左的顺序从起点位置(i,j)进行探索;设计dx、dy数组的详细原因可以参考leetcode 79 单词搜索-CSDN博客

<2>如果(x,y)没有越界,且未被访问,且grid[x][y]不为0(题目约束),就将visited[x][y]赋值为true,path+=grid[x][y],再以(x,y)为起点,调用dfs函数;

<3>更新ret,如果path>=ret,将ret赋值为path;

<4>最后恢复现场;

注意:执行完dfs函数后,除了全局变量ret,其它变量都恢复初始状态。相当于完成了一次深度优先遍历,找到了以(i,j)为起点的所有可能;

三、代码实现

class Solution {int m,n;vector<vector<bool>> visited;int path=0;int ret=0;
public:int getMaximumGold(vector<vector<int>>& grid) {m=grid.size();n=grid[0].size();visited.resize(m,vector<bool>(n,false));for(int i=0;i!=m;i++)for(int j=0;j!=n;j++){visited[i][j]=true;path+=grid[i][j];dfs(grid,i,j);//恢复visited[i][j]=false;path-=grid[i][j];}return ret;}//上、右、下、左int dx[4]={0,1,0,-1};int dy[4]={1,0,-1,0};void dfs(vector<vector<int>>& grid,int i,int j){for(int k=0;k!=4;k++){int x=i+dx[k];int y=j+dy[k];if(x>=0&&x<m&&y>=0&&y<n&&!visited[x][y]&&grid[x][y]){visited[x][y]=true;path+=grid[x][y];dfs(grid,x,y);if(path>=ret) ret=path;//恢复现场visited[x][y]=false;path-=grid[x][y];}}}
};

http://www.dtcms.com/a/445789.html

相关文章:

  • 【Camera】MTK平台的一些基础认识(待补充)
  • Go基础:用Go语言操作MySQL详解
  • 数字短链接生成郑州seo优化
  • 网站排版尺寸安装好的字体怎么用wordpress
  • 如何利用企业微信SCRM打造精准客户营销策略?
  • AI 编程 Trae 如何去 AI 味(以用户管理系统为例子)
  • 【National Treasure2】
  • 【LLM4EDA】: Part 9--LLM4EDA的优化与建模
  • 用parser_tools插件来解析SQL语句
  • 湖北住房和城乡建设厅网站phpmysql做网站
  • 《量子计算》学习笔记:量子计算的基本定义(续)
  • 哈尔滨网站建设价位上海有名的猎头公司
  • 手写MyBatis第94弹:完整架构回顾与核心技术深度解析
  • 汽车电子Autosar架构BSW层学习路线·附录章节
  • 织梦 网站设计做网站竟然不知道cms
  • Linex操作系统-Shell脚本(六)
  • 2025年ASOC SCI2区TOP,基于动态模糊系统的改进灰狼算法FGWO,深度解析+性能实测
  • Go基础:输入与输出格式化详解
  • Go语言:数据压缩与解压详解
  • Odoo 前端控制器:构建无缝集成的网站页面
  • Go基础:json文件处理详解(标准库`encoding/json`)
  • 网站页头尺寸网站建设实物实训目的
  • RegNet:高效可扩展网络
  • 软考 系统架构设计师系列知识点之杂项集萃(169)
  • 大数据毕业设计选题推荐-基于大数据的人口普查收入数据分析与可视化系统-Hadoop-Spark-数据可视化-BigData
  • 实验室网站制作数据交易网站源码
  • 【Kubernetes】(二十)Gateway
  • 爬虫与自动化技术深度解析:从数据采集到智能运维的完整实战指南——企业级实时数据闭环构建
  • 桂林哪里可以做网站wordpress前台不显示
  • 模拟退火粒子群优化算法(SA-PSO):原理、应用与展望