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

免费在线观看电视剧的网站付费论坛源码

免费在线观看电视剧的网站,付费论坛源码,河池网络推广,top模板wordpress黄金矿工 leetcode1219. 黄金矿工题目描述回溯算法代码 回溯算法 leetcode1219. 黄金矿工 难度: 中等 eetcode 1219 黄金矿工 题目描述 你要开发一座金矿#xff0c;地质勘测学家已经探明了这座金矿中的资源分布#xff0c;并用大小为 m * n 的网格 grid 进行了标注。每个单元… 黄金矿工 leetcode1219. 黄金矿工题目描述回溯算法代码 回溯算法 leetcode1219. 黄金矿工 难度: 中等 eetcode 1219 黄金矿工 题目描述 你要开发一座金矿地质勘测学家已经探明了这座金矿中的资源分布并用大小为 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 个单元格中有黄金。 回溯算法 首先了解什么是回溯算法 解决一个回溯问题实际上就是一个决策树的遍历过程站在回溯树的一个节点上你只需要思考 3 个问题 路径也就是已经做出的选择。选择列表也就是你当前可以做的选择。结束条件也就是到达决策树底层无法再做选择的条件。 代码框架: result [] def backtrack(路径, 选择列表):if 满足结束条件:result.add(路径)returnfor 选择 in 选择列表:做选择backtrack(路径, 选择列表)撤销选择 关于本体的解题思路: 我们首先在 m×nm \times nm×n 个网格内枚举起点。只要格子内的数大于 000它就可以作为起点进行开采。 记枚举的起点为 (i,j)我们就可以从 (i,j)开始进行递归 回溯枚举所有可行的开采路径。我们用递归函数 dfs(x,y,gold)\进行枚举其中 (x,y)(x, y)(x,y) 表示当前所在的位置gold\textit{gold}gold 表示在开采位置 (x,y)(x, y)(x,y) 之前已经拥有的黄金数量。根据题目的要求我们需要进行如下的步骤 我们需要将 gold 更新为 goldgrid[x][y]表示对位置(x,y) 进行开采。由于我们的目标是最大化收益因此我们还要维护一个最大的收益值 ans并在这一步使用 gold\textit{gold}gold 更新ans 我们需要枚举矿工下一步的方向。由于矿工每次可以从当前位置向上下左右四个方向走因此我们需要依次枚举每一个方向。如果往某一个方向不会走出网格并且走到的位置的值不为 0我们就可以进行递归搜索 在搜索完所有方向后我们进行回溯。 代码 class Solution {int[][]g;int m,n;//标记已经走过的路线boolean[][]vis;//标记四个方向,矿工每到一个地方,都有四个方向可以选择.int[][]dirs new int[][]{{1,0},{-1,0},{0,-1},{0,1}};public int getMaximumGold(int[][]gird){g gird;m g.length;n g[0].length;vis new boolean[m][n];int ans 0;for (int i 0; i m;i){for (int j 0; j n;j){if (g[i][j] ! 0){vis[i][j] true;ans Math.max(ans,dfs(i,j));vis[i][j] false;}}}return ans;}/*** 开始回溯计算,每个点向四个方向开始移动的最大值* param i* param j* return*/public int dfs(int i,int j){int ans g[i][j];//枚举四个方向for (int[]d : dirs){int ni i d[0];int nj j d[1];if (ni 0 || nj 0 || ni m || nj n){continue;}if (g[ni][nj] 0){continue;}//已经走过的不在重复计算if (vis[ni][nj]){continue;}//标记已选vis[ni][nj] true;ans Math.max(ans,g[i][j] dfs(ni,nj));vis[ni][nj] false;}return ans;} }回溯算法 leetcode698. 划分为k个相等的子集 leetcode93. 复原 IP 地址 leetcode306. 累加数
http://www.dnsts.com.cn/news/106224.html

相关文章:

  • 做网站团队的人员安排郑州市哪里有网站建设
  • 网站建设栏目设计互联网推广和传统营销有哪些相同点
  • 专业商城网站建设网站建设框架都有哪些内容
  • 建设银行的官方网站积分商场更新wordpress咋办
  • 深圳有哪些做网站的公司好那个网站做图片
  • 网站建设与网页制作盒子模型网站内页降权 关键词排名下降
  • 佛山网站设计平台公众平台是什么
  • 网站建设在线建站开发游戏怎么赚钱
  • 教育局网站建设管理工作意见怎么注册网站域名备案
  • 佛山网站优化公司排名简历做的很棒的网站
  • 58网站 做现浇混凝土网页设计模板网
  • 吉林做网站好用的浏览器
  • 做网站的app网页制作教程哔哩
  • 网站空间续费一年多少钱郑州做网站优化价格
  • 凯里做网站的公司网站布局f
  • 网站建设情况存在问题晋城建设局官方网站
  • 邹城哪个公司做网站好网站主页
  • 网站建设常用模板档案网站建设的意义
  • 辽宁移动网站做高端网站建设
  • 南昌二手网站开发方案石家庄招投标公共服务平台官网
  • 网站建设项目工作分解结构WordPress评论增加表情
  • 蜂鸟 网站建设网上接单网站
  • 拥有域名后怎么建设网站建设网站需要购买虚拟主机吗
  • wordpress分类函数北京网站推广优化公司
  • 速冻蔬菜做哪个国际网站好免费 网站管理系统
  • 免费h5网站制作平台嘉兰图工业设计公司现状
  • 网站建设实训室外贸soho网站建设
  • 下载站推广网站建设流程域名申请
  • 哈尔滨网站制作哪儿好薇前端小程序开发流程
  • 东莞外贸网站建设策划方案洛阳网站建设哪家权威